blob: b4b0cef4611b1dcbff23735abec22f9376166953 [file] [log] [blame]
#!/bin/sh
# 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.
DIRROOT="$1"
if [ "$DIRROOT" = "" ]; then
echo "No directory given" 1>&2
exit 1
fi
SEP=':'
CP=${CP:-}
which mvn > /dev/null
HAS_MAVEN=$?
if [ -e "$DIRROOT/pom.xml" ] && [ $HAS_MAVEN -eq 0 ]; then
# Take advantage of maven dependency plugin
# We want to filter out maven's INFO, WARNING and dependency download messages
# We leave ERROR messages alone even though they'll break the classpath we don't want
# to suppress them
MVN_OUTPUT_PATTERN="(^\[?(INFO|WARNING)|Download)"
# Switch up to the root directory and run maven
CURR_DIR=$PWD
cd $DIRROOT
MVN_CP=`mvn dependency:build-classpath -U | egrep -v ${MVN_OUTPUT_PATTERN}`
cd $CURR_DIR
# Append the result to any user defined classpath
[ "$CP" != "" ] && CP="${CP}${SEP}"
CP="${CP}${MVN_CP}"
else
# Use the crude method
M2_REPO="${M2_REPO:-$HOME/.m2/repository/}" ;
X=$(perl -ne 'next unless /\spath="$M2_REPO([^"]*)"/s ; print "$1","\n"' $DIRROOT/.classpath)
for x in $X
do
[ "$CP" != "" ] && CP="${CP}${SEP}"
CP="$CP$M2_REPO$x"
done
fi
for D in "$DIRROOT/../jena-core" "$DIRROOT/../jena-arq" "$DIRROOT"
do
if [ -e "$D/classes" ]; then
CP="$D/classes${SEP}$CP"
elif [ -e "$D/target/classes" ]; then
CP="$DIRROOT/target/classes${SEP}$CP"
fi
done
echo "$CP"