blob: 277ac0638ce71dd15e3371d2d1dcc700336fcf07 [file] [log] [blame]
#!/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"