#!/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 if [ -e "$DIRROOT/classes" ]; then CP="$DIRROOT/../jena-core/classes${SEP}$CP" CP="$DIRROOT/classes${SEP}$CP" elif [ -e "$DIRROOT/target/classes" ]; then CP="$DIRROOT/target/classes{SEP}$CP" fi echo "$CP"