| #!/bin/bash |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Usage: make_classpath DIR |
| # Finds jars in lib/, and class files in classes/ and build/classes |
| # If CP is already set, include that as well. |
| |
| DIRROOT="$1" |
| |
| if [ "$DIRROOT" = "" ] |
| then |
| echo "No directory given" 1>&2 |
| exit 1 |
| fi |
| |
| # remove any trailing / |
| DIRROOT=${DIRROOT%/} |
| |
| LIBDIR="$DIRROOT/lib" |
| # List |
| CPDIR1="$DIRROOT/classes" |
| CPDIR2="$DIRROOT/target/classes" |
| CPDIR3="$DIRROOT/target/classes-eclipse" |
| ETCDIR="$DIRROOT/etc" |
| |
| # Cygwin - on Windows, the Java separator is ; |
| # Alternative: Form in UNIX style, turn into windows form at the end. |
| |
| CYGWIN=0 |
| SEP=':' |
| if [ "$OSTYPE" = "cygwin" ] |
| then |
| CYGWIN=1 |
| SEP=';' |
| fi |
| |
| # CP is the variable collecting the path/ |
| # It may already have a value. |
| |
| CP="${CP:-}" |
| |
| # Append any jars in the lib/ directory |
| |
| for jar in "$LIBDIR"/*.jar |
| do |
| # Check for no expansion |
| [ -e "$jar" ] || break |
| # Check not sources and no javadoc. |
| [ "${jar/sources}" = "${jar}" ] || continue |
| [ "${jar/javadoc}" = "${jar}" ] || continue |
| #echo "Path: $jar" |
| [ "$CP" != "" ] && CP="${CP}${SEP}" |
| CP="${CP}$jar" |
| |
| ## # Suggested: |
| ## if [ "$CYGWIN" = 1 ] |
| ## then |
| ## CP="${CP}$(cygpath -wp "$jar")" |
| ## else |
| ## CP="${CP}$jar" |
| ## fi |
| ## |
| done |
| |
| # Prepend any classes/ directory |
| # As it's "prepend", we need to do it in reverse. |
| for dir in "$CPDIR3" "$CPDIR2" "$CPDIR1" |
| do |
| if [ -e "$dir" ] |
| then |
| [ "$CP" != "" ] && CP="${SEP}${CP}" |
| CP="${dir}$CP" |
| fi |
| done |
| |
| # Add DIRROOT |
| #CP="${CP}${SEP}${DIRROOT}" |
| |
| ## if [ "$CYGWIN" = 1 ] |
| ## then |
| ## CP="$(cygpath -w "$CP")" |
| ## fi |
| |
| echo "$CP" |