normalise whitespace in scripts and use Perl idioms properlymaster
@@ -19,30 +19,34 @@ | |||
cygwin=false; | |||
darwin=false; | |||
case "`uname`" in | |||
CYGWIN*) cygwin=true ;; | |||
Darwin*) darwin=true | |||
if [ -z "$JAVA_HOME" ] ; then | |||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home | |||
fi | |||
;; | |||
CYGWIN*) | |||
cygwin=true ;; | |||
Darwin*) | |||
darwin=true | |||
if [ -z "$JAVA_HOME" ]; then | |||
if [ -x '/usr/libexec/java_home' ]; then | |||
JAVA_HOME=`/usr/libexec/java_home` | |||
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then | |||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home | |||
fi | |||
fi | |||
;; | |||
esac | |||
# For Cygwin, ensure paths are in UNIX format before anything is touched | |||
if $cygwin ; then | |||
[ -n "$JAVA_HOME" ] && | |||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | |||
[ -n "$CLASSPATH" ] && | |||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"` | |||
if $cygwin; then | |||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | |||
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` | |||
fi | |||
# You will need to specify JAVA_HOME if compiling with 1.2 or later. | |||
if [ -n "$JAVA_HOME" ] ; then | |||
if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
if [ -f "$JAVA_HOME/lib/tools.jar" ]; then | |||
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar | |||
fi | |||
if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then | |||
if [ -f "$JAVA_HOME/lib/classes.zip" ]; then | |||
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/classes.zip | |||
fi | |||
else | |||
@@ -55,9 +59,9 @@ fi | |||
# IBM's JDK on AIX uses strange locations for the executables: | |||
# JAVA_HOME/jre/sh for java and rmid | |||
# JAVA_HOME/sh for javac and rmic | |||
if [ -z "$JAVAC" ] ; then | |||
if [ -n "$JAVA_HOME" ] ; then | |||
if [ -x "$JAVA_HOME/sh/javac" ] ; then | |||
if [ -z "$JAVAC" ]; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
if [ -x "$JAVA_HOME/sh/javac" ]; then | |||
JAVAC=${JAVA_HOME}/sh/javac; | |||
else | |||
JAVAC=${JAVA_HOME}/bin/javac; | |||
@@ -66,9 +70,9 @@ if [ -z "$JAVAC" ] ; then | |||
JAVAC=javac | |||
fi | |||
fi | |||
if [ -z "$JAVACMD" ] ; then | |||
if [ -n "$JAVA_HOME" ] ; then | |||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | |||
if [ -z "$JAVACMD" ]; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
if [ -x "$JAVA_HOME/jre/sh/java" ]; then | |||
JAVACMD=$JAVA_HOME/jre/sh/java | |||
else | |||
JAVACMD=$JAVA_HOME/bin/java | |||
@@ -78,7 +82,7 @@ if [ -z "$JAVACMD" ] ; then | |||
fi | |||
fi | |||
if [ ! -x "$JAVACMD" ] ; then | |||
if [ ! -x "$JAVACMD" ]; then | |||
echo "Error: JAVA_HOME is not defined correctly." | |||
echo " We cannot execute $JAVACMD" | |||
exit | |||
@@ -89,22 +93,21 @@ export ANT_HOME | |||
echo ... Bootstrapping Ant Distribution | |||
if [ -d "bootstrap" ] ; then | |||
if [ -d "bootstrap" ]; then | |||
rm -r bootstrap | |||
fi | |||
if [ -d "build" ] ; then | |||
if [ -d "build" ]; then | |||
rm -r build | |||
fi | |||
DIRLIBS=lib/optional/*.jar | |||
for i in ${DIRLIBS} | |||
do | |||
# if the directory is empty, then it will return the input string | |||
# this is stupid, so case for it | |||
if [ "$i" != "${DIRLIBS}" ] ; then | |||
CLASSPATH=$CLASSPATH:"$i" | |||
fi | |||
for i in ${DIRLIBS}; do | |||
# if the directory is empty, then it will return the input string | |||
# this is stupid, so case for it | |||
if [ "$i" != "${DIRLIBS}" ]; then | |||
CLASSPATH=$CLASSPATH:"$i" | |||
fi | |||
done | |||
TOOLS=src/main/org/apache/tools | |||
@@ -126,14 +129,14 @@ mkdir -p bin | |||
echo ... Compiling Ant Classes | |||
"${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} ${TOOLS}/bzip2/*.java ${TOOLS}/tar/*.java ${TOOLS}/zip/*.java \ | |||
${TOOLS}/ant/util/regexp/RegexpMatcher.java \ | |||
${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \ | |||
${TOOLS}/ant/property/*.java \ | |||
${TOOLS}/ant/types/*.java \ | |||
${TOOLS}/ant/types/resources/*.java \ | |||
${TOOLS}/ant/*.java ${TOOLS}/ant/taskdefs/*.java \ | |||
${TOOLS}/ant/taskdefs/compilers/*.java \ | |||
${TOOLS}/ant/taskdefs/condition/*.java | |||
${TOOLS}/ant/util/regexp/RegexpMatcher.java \ | |||
${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \ | |||
${TOOLS}/ant/property/*.java \ | |||
${TOOLS}/ant/types/*.java \ | |||
${TOOLS}/ant/types/resources/*.java \ | |||
${TOOLS}/ant/*.java ${TOOLS}/ant/taskdefs/*.java \ | |||
${TOOLS}/ant/taskdefs/compilers/*.java \ | |||
${TOOLS}/ant/taskdefs/condition/*.java | |||
ret=$? | |||
if [ $ret != 0 ]; then | |||
echo ... Failed compiling Ant classes ! | |||
@@ -143,9 +146,9 @@ fi | |||
echo ... Copying Required Files | |||
cp src/main/org/apache/tools/ant/taskdefs/defaults.properties \ | |||
${CLASSDIR}/org/apache/tools/ant/taskdefs | |||
${CLASSDIR}/org/apache/tools/ant/taskdefs | |||
cp src/main/org/apache/tools/ant/types/defaults.properties \ | |||
${CLASSDIR}/org/apache/tools/ant/types | |||
${CLASSDIR}/org/apache/tools/ant/types | |||
cp src/script/antRun bin | |||
chmod +x bin/antRun | |||
@@ -158,7 +161,6 @@ if [ $ret != 0 ]; then | |||
exit $ret | |||
fi | |||
echo ... Cleaning Up Build Directories | |||
rm -rf ${CLASSDIR} | |||
@@ -19,34 +19,41 @@ | |||
cygwin=false; | |||
darwin=false; | |||
case "`uname`" in | |||
CYGWIN*) cygwin=true ;; | |||
Darwin*) darwin=true | |||
if [ -z "$JAVA_HOME" ] ; then | |||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home | |||
fi | |||
;; | |||
CYGWIN*) | |||
cygwin=true | |||
;; | |||
Darwin*) | |||
darwin=true | |||
if [ -z "$JAVA_HOME" ]; then | |||
if [ -x '/usr/libexec/java_home' ]; then | |||
JAVA_HOME=`/usr/libexec/java_home` | |||
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then | |||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home | |||
fi | |||
fi | |||
;; | |||
esac | |||
REALANTHOME=$ANT_HOME | |||
if [ -z "$PWD" ]; then | |||
ANT_HOME=./bootstrap | |||
ANT_HOME=./bootstrap | |||
else | |||
ANT_HOME="$PWD"/bootstrap | |||
ANT_HOME="$PWD"/bootstrap | |||
fi | |||
export ANT_HOME | |||
if test ! -f bootstrap/lib/ant.jar -o ! -x bootstrap/bin/ant -o ! -x bootstrap/bin/antRun ; then | |||
if test ! -f bootstrap/lib/ant.jar -o ! -x bootstrap/bin/ant -o ! -x bootstrap/bin/antRun; then | |||
/bin/sh ./bootstrap.sh | |||
fi | |||
if test ! -f bootstrap/lib/ant.jar -o ! -x bootstrap/bin/ant -o ! -x bootstrap/bin/antRun ; then | |||
if test ! -f bootstrap/lib/ant.jar -o ! -x bootstrap/bin/ant -o ! -x bootstrap/bin/antRun; then | |||
echo Bootstrap FAILED | |||
exit 1 | |||
fi | |||
if [ "$REALANTHOME" != "" ] ; then | |||
if [ "$REALANTHOME" != "" ]; then | |||
if $cygwin; then | |||
REALANTHOME=`cygpath --windows "$REALANTHOME"` | |||
REALANTHOME=`cygpath --windows "$REALANTHOME"` | |||
fi | |||
ANT_INSTALL="-Dant.install=$REALANTHOME" | |||
else | |||
@@ -54,4 +61,3 @@ else | |||
fi | |||
bootstrap/bin/ant -nouserlib -lib lib/optional "$ANT_INSTALL" $* | |||
@@ -1,2 +1,2 @@ | |||
ant eol=lf | |||
anrRun eol=lf | |||
antRun eol=lf |
@@ -22,35 +22,33 @@ use_jikes_default=false | |||
ant_exec_debug=false | |||
show_help=false | |||
if [ -z "$PROTECT_NL" ] | |||
then | |||
if [ -z "$PROTECT_NL" ]; then | |||
PROTECT_NL=true | |||
os=`uname -s` | |||
rel=`uname -r` | |||
# heirloom bourne-shell used by Solaris 10 is not POSIX | |||
# it lacks features necessary to protect trailing NL from subshell trimming | |||
if [ "$os" = SunOS -a "$rel" = "5.10" ] | |||
then | |||
if [ "$os" = SunOS -a "$rel" = "5.10" ]; then | |||
PROTECT_NL=false | |||
fi | |||
fi | |||
for arg in "$@" ; do | |||
if [ "$arg" = "--noconfig" ] ; then | |||
for arg in "$@"; do | |||
if [ "$arg" = "--noconfig" ]; then | |||
no_config=true | |||
elif [ "$arg" = "--usejikes" ] ; then | |||
elif [ "$arg" = "--usejikes" ]; then | |||
use_jikes_default=true | |||
elif [ "$arg" = "--execdebug" ] ; then | |||
elif [ "$arg" = "--execdebug" ]; then | |||
ant_exec_debug=true | |||
elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ] ; then | |||
elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ]; then | |||
show_help=true | |||
ant_exec_args="$ant_exec_args -h" | |||
else | |||
if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then | |||
if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ]; then | |||
show_help=true | |||
fi | |||
if [ "$PROTECT_NL" = "true" ] ; then | |||
if [ "$PROTECT_NL" = "true" ]; then | |||
# pad the value with X to protect trailing NLs from subshell output trimming | |||
esc_arg="${arg}X" | |||
else | |||
@@ -64,14 +62,13 @@ for arg in "$@" ; do | |||
# subshell (heirloom and posix) will trim the added trailing newline | |||
esc_arg="`printf '%s\n' "$esc_arg" | sed -e 's@\([$\"\`\\]\)@\\\\\\1@g' `" | |||
if [ "$PROTECT_NL" = "true" ] ; then | |||
if [ "$PROTECT_NL" = "true" ]; then | |||
# remove the padding X added above, this syntax is POSIX compatible but not heirloom-sh | |||
esc_arg="${esc_arg%X}" | |||
fi | |||
quoted_arg="\"$esc_arg\"" | |||
if $ant_exec_debug | |||
then | |||
if $ant_exec_debug; then | |||
# using printf to avoid echo line continuation and escape interpretation | |||
printf "arg : %s\n" "$arg" | |||
printf "quoted_arg: %s\n" "$quoted_arg" | |||
@@ -81,37 +78,37 @@ for arg in "$@" ; do | |||
done | |||
# Source/default ant configuration | |||
if $no_config ; then | |||
if $no_config; then | |||
rpm_mode=false | |||
usejikes=$use_jikes_default | |||
else | |||
# load system-wide ant configuration (ONLY if ANT_HOME has NOT been set) | |||
if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then | |||
if [ -f "/etc/ant.conf" ] ; then | |||
if [ -f "/etc/ant.conf" ]; then | |||
. /etc/ant.conf | |||
fi | |||
fi | |||
# load user ant configuration | |||
if [ -f "$HOME/.ant/ant.conf" ] ; then | |||
if [ -f "$HOME/.ant/ant.conf" ]; then | |||
. $HOME/.ant/ant.conf | |||
fi | |||
if [ -f "$HOME/.antrc" ] ; then | |||
if [ -f "$HOME/.antrc" ]; then | |||
. "$HOME/.antrc" | |||
fi | |||
# provide default configuration values | |||
if [ -z "$rpm_mode" ] ; then | |||
if [ -z "$rpm_mode" ]; then | |||
rpm_mode=false | |||
fi | |||
if [ -z "$usejikes" ] ; then | |||
if [ -z "$usejikes" ]; then | |||
usejikes=$use_jikes_default | |||
fi | |||
fi | |||
# Setup Java environment in rpm mode | |||
if $rpm_mode ; then | |||
if [ -f /usr/share/java-utils/java-functions ] ; then | |||
if $rpm_mode; then | |||
if [ -f /usr/share/java-utils/java-functions ]; then | |||
. /usr/share/java-utils/java-functions | |||
set_jvm | |||
set_javacmd | |||
@@ -123,32 +120,37 @@ cygwin=false; | |||
darwin=false; | |||
mingw=false; | |||
case "`uname`" in | |||
CYGWIN*) cygwin=true ;; | |||
Darwin*) darwin=true | |||
if [ -z "$JAVA_HOME" ] ; then | |||
if [ -x '/usr/libexec/java_home' ] ; then | |||
JAVA_HOME=`/usr/libexec/java_home` | |||
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then | |||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home | |||
fi | |||
fi | |||
;; | |||
MINGW*) mingw=true ;; | |||
CYGWIN*) | |||
cygwin=true | |||
;; | |||
Darwin*) | |||
darwin=true | |||
if [ -z "$JAVA_HOME" ]; then | |||
if [ -x '/usr/libexec/java_home' ]; then | |||
JAVA_HOME=`/usr/libexec/java_home` | |||
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then | |||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home | |||
fi | |||
fi | |||
;; | |||
MINGW*) | |||
mingw=true | |||
;; | |||
esac | |||
if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ] ; then | |||
if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ]; then | |||
## resolve links - $0 may be a link to ant's home | |||
PRG="$0" | |||
progname=`basename "$0"` | |||
# need this for relative symlinks | |||
while [ -h "$PRG" ] ; do | |||
while [ -h "$PRG" ]; do | |||
ls=`ls -ld "$PRG"` | |||
link=`expr "$ls" : '.*-> \(.*\)$'` | |||
if expr "$link" : '/.*' > /dev/null; then | |||
PRG="$link" | |||
PRG="$link" | |||
else | |||
PRG=`dirname "$PRG"`"/$link" | |||
PRG=`dirname "$PRG"`"/$link" | |||
fi | |||
done | |||
@@ -160,41 +162,37 @@ fi | |||
# For Cygwin and Mingw, ensure paths are in UNIX format before | |||
# anything is touched | |||
if $cygwin ; then | |||
[ -n "$ANT_HOME" ] && | |||
ANT_HOME=`cygpath --unix "$ANT_HOME"` | |||
[ -n "$JAVA_HOME" ] && | |||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | |||
if $cygwin; then | |||
[ -n "$ANT_HOME" ] && ANT_HOME=`cygpath --unix "$ANT_HOME"` | |||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | |||
fi | |||
if $mingw ; then | |||
[ -n "$ANT_HOME" ] && | |||
ANT_HOME="`(cd "$ANT_HOME"; pwd)`" | |||
[ -n "$JAVA_HOME" ] && | |||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" | |||
if $mingw; then | |||
[ -n "$ANT_HOME" ] && ANT_HOME="`(cd "$ANT_HOME"; pwd)`" | |||
[ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" | |||
fi | |||
# set ANT_LIB location | |||
ANT_LIB="${ANT_HOME}/lib" | |||
if [ -z "$JAVACMD" ] ; then | |||
if [ -n "$JAVA_HOME" ] ; then | |||
if [ -z "$JAVACMD" ]; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
# IBM's JDK on AIX uses strange locations for the executables | |||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | |||
if [ -x "$JAVA_HOME/jre/sh/java" ]; then | |||
JAVACMD="$JAVA_HOME/jre/sh/java" | |||
elif [ -x "$JAVA_HOME/jre/bin/java" ] ; then | |||
elif [ -x "$JAVA_HOME/jre/bin/java" ]; then | |||
JAVACMD="$JAVA_HOME/jre/bin/java" | |||
else | |||
JAVACMD="$JAVA_HOME/bin/java" | |||
fi | |||
else | |||
JAVACMD=`which java 2> /dev/null ` | |||
if [ -z "$JAVACMD" ] ; then | |||
if [ -z "$JAVACMD" ]; then | |||
JAVACMD=java | |||
fi | |||
fi | |||
fi | |||
if [ ! -x "$JAVACMD" ] ; then | |||
if [ ! -x "$JAVACMD" ]; then | |||
echo "Error: JAVA_HOME is not defined correctly." | |||
echo " We cannot execute $JAVACMD" | |||
exit 1 | |||
@@ -207,41 +205,40 @@ fi | |||
# is discouraged as it is not java-version safe. A user should | |||
# request optional jars and their dependencies via the OPT_JAR_LIST | |||
# variable | |||
if $rpm_mode && [ -x /usr/bin/build-classpath ] ; then | |||
if $rpm_mode && [ -x /usr/bin/build-classpath ]; then | |||
LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)" | |||
# If no optional jars have been specified then build the default list | |||
if [ -z "$OPT_JAR_LIST" ] ; then | |||
if [ -z "$OPT_JAR_LIST" ]; then | |||
for file in /etc/ant.d/*; do | |||
if [ -f "$file" ]; then | |||
case "$file" in | |||
*~) ;; | |||
*#*) ;; | |||
*.rpmsave) ;; | |||
*.rpmnew) ;; | |||
*) | |||
for dep in `cat "$file"`; do | |||
OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep" | |||
done | |||
*~|*#*|*.rpmsave|*.rpmnew) | |||
;; | |||
*) | |||
for dep in `cat "$file"`; do | |||
OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep" | |||
done | |||
;; | |||
esac | |||
fi | |||
done | |||
fi | |||
# If the user requested to try to add some other jars to the classpath | |||
if [ -n "$OPT_JAR_LIST" ] ; then | |||
if [ -n "$OPT_JAR_LIST" ]; then | |||
_OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)" | |||
if [ -n "$_OPTCLASSPATH" ] ; then | |||
if [ -n "$_OPTCLASSPATH" ]; then | |||
LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH" | |||
fi | |||
fi | |||
# Explicitly add javac path to classpath, assume JAVA_HOME set | |||
# properly in rpm mode | |||
if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then | |||
if [ -f "$JAVA_HOME/lib/tools.jar" ]; then | |||
LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar" | |||
fi | |||
if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then | |||
if [ -f "$JAVA_HOME/lib/classes.zip" ]; then | |||
LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip" | |||
fi | |||
@@ -251,11 +248,11 @@ if $rpm_mode && [ -x /usr/bin/build-classpath ] ; then | |||
# | |||
# if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour | |||
# with ant-found jars first and user CLASSPATH after | |||
if [ -n "$CLASSPATH" ] ; then | |||
# merge local and specified classpath | |||
if [ -z "$LOCALCLASSPATH" ] ; then | |||
if [ -n "$CLASSPATH" ]; then | |||
# merge local and specified classpath | |||
if [ -z "$LOCALCLASSPATH" ]; then | |||
LOCALCLASSPATH="$CLASSPATH" | |||
elif [ -n "$CLASSPATH_OVERRIDE" ] ; then | |||
elif [ -n "$CLASSPATH_OVERRIDE" ]; then | |||
LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH" | |||
else | |||
LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH" | |||
@@ -266,20 +263,19 @@ if $rpm_mode && [ -x /usr/bin/build-classpath ] ; then | |||
fi | |||
else | |||
# not using rpm_mode; use launcher to determine classpaths | |||
if [ -z "$LOCALCLASSPATH" ] ; then | |||
if [ -z "$LOCALCLASSPATH" ]; then | |||
LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar | |||
else | |||
LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH | |||
fi | |||
fi | |||
if [ -n "$JAVA_HOME" ] ; then | |||
if [ -n "$JAVA_HOME" ]; then | |||
# OSX hack to make Ant work with jikes | |||
if $darwin ; then | |||
if $darwin; then | |||
OSXHACK="${JAVA_HOME}/../Classes" | |||
if [ -d "${OSXHACK}" ] ; then | |||
for i in "${OSXHACK}"/*.jar | |||
do | |||
if [ -d "${OSXHACK}" ]; then | |||
for i in "${OSXHACK}"/*.jar; do | |||
JIKESPATH="$JIKESPATH:$i" | |||
done | |||
fi | |||
@@ -297,7 +293,7 @@ fi | |||
# in the name in the path. Let's assume that paths containing ; are more | |||
# rare than windows style paths on cygwin. | |||
if $cygwin; then | |||
if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then | |||
if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null; then | |||
format=mixed | |||
else | |||
format=windows | |||
@@ -307,7 +303,7 @@ if $cygwin; then | |||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --$format "$JAVA_HOME"` | |||
LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"` | |||
LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"` | |||
if [ -n "$CLASSPATH" ] ; then | |||
if [ -n "$CLASSPATH" ]; then | |||
CP_TEMP=`cygpath --path --unix "$CLASSPATH"` | |||
CLASSPATH=`cygpath --path --$format "$CP_TEMP"` | |||
fi | |||
@@ -315,7 +311,7 @@ if $cygwin; then | |||
fi | |||
# Show script help if requested | |||
if $show_help ; then | |||
if $show_help; then | |||
echo $0 '[script options] [options] [target [target2 [target3] ..]]' | |||
echo 'Script Options:' | |||
echo ' --help, --h print this message and ant help' | |||
@@ -326,33 +322,33 @@ if $show_help ; then | |||
echo ' set explicitly in configuration files' | |||
echo ' --execdebug print ant exec line generated by this' | |||
echo ' launch script' | |||
echo ' ' | |||
echo '' | |||
fi | |||
# add a second backslash to variables terminated by a backslash under cygwin | |||
if $cygwin; then | |||
case "$ANT_HOME" in | |||
*\\ ) | |||
ANT_HOME="$ANT_HOME\\" | |||
ANT_HOME="$ANT_HOME\\" | |||
;; | |||
esac | |||
case "$CYGHOME" in | |||
*\\ ) | |||
CYGHOME="$CYGHOME\\" | |||
CYGHOME="$CYGHOME\\" | |||
;; | |||
esac | |||
case "$JIKESPATH" in | |||
*\\ ) | |||
JIKESPATH="$JIKESPATH\\" | |||
JIKESPATH="$JIKESPATH\\" | |||
;; | |||
esac | |||
case "$LOCALCLASSPATH" in | |||
*\\ ) | |||
LOCALCLASSPATH="$LOCALCLASSPATH\\" | |||
LOCALCLASSPATH="$LOCALCLASSPATH\\" | |||
;; | |||
esac | |||
case "$CLASSPATH" in | |||
*\\ ) | |||
CLASSPATH="$CLASSPATH\\" | |||
CLASSPATH="$CLASSPATH\\" | |||
;; | |||
esac | |||
fi | |||
@@ -371,7 +367,7 @@ else | |||
fi | |||
fi | |||
ant_exec_command="exec \"\$JAVACMD\" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\"" | |||
if $ant_exec_debug ; then | |||
if $ant_exec_debug; then | |||
# using printf to avoid echo line continuation and escape interpretation confusion | |||
printf "%s\n" "$ant_exec_command $ant_exec_args" | |||
fi | |||
@@ -6,9 +6,9 @@ REM this work for additional information regarding copyright ownership. | |||
REM The ASF licenses this file to You under the Apache License, Version 2.0 | |||
REM (the "License"); you may not use this file except in compliance with | |||
REM the License. You may obtain a copy of the License at | |||
REM | |||
REM | |||
REM http://www.apache.org/licenses/LICENSE-2.0 | |||
REM | |||
REM | |||
REM Unless required by applicable law or agreed to in writing, software | |||
REM distributed under the License is distributed on an "AS IS" BASIS, | |||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
@@ -1,4 +1,4 @@ | |||
/* | |||
/* | |||
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. | |||
@@ -13,7 +13,7 @@ | |||
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. | |||
Run ant | |||
*/ | |||
@@ -6,9 +6,9 @@ REM this work for additional information regarding copyright ownership. | |||
REM The ASF licenses this file to You under the Apache License, Version 2.0 | |||
REM (the "License"); you may not use this file except in compliance with | |||
REM the License. You may obtain a copy of the License at | |||
REM | |||
REM | |||
REM http://www.apache.org/licenses/LICENSE-2.0 | |||
REM | |||
REM | |||
REM Unless required by applicable law or agreed to in writing, software | |||
REM distributed under the License is distributed on an "AS IS" BASIS, | |||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
@@ -47,4 +47,3 @@ rem echo %ANT_RUN_CMD% | |||
if "%OS%"=="Windows_NT" @endlocal | |||
if "%OS%"=="WINNT" @endlocal | |||
@@ -20,7 +20,7 @@ | |||
# antRun.pl | |||
# | |||
# wrapper script for invoking commands on a platform with Perl installed | |||
# this is akin to antRun.bat, and antRun the SH script | |||
# this is akin to antRun.bat, and antRun the SH script | |||
####################################################################### | |||
#be fussy about variables | |||
use strict; | |||
@@ -29,21 +29,20 @@ use strict; | |||
#use warnings; | |||
#and set $debug to 1 to turn on trace info (currently unused) | |||
my $debug=1; | |||
my $debug = 1; | |||
####################################################################### | |||
# change drive and directory to "%1" | |||
my $ANT_RUN_CMD = @ARGV[0]; | |||
# assign current run command to "%2" | |||
chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n"; | |||
chdir(@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n"; | |||
if ($^O eq "NetWare") { | |||
# There is a bug in Perl 5 on NetWare, where chdir does not | |||
# do anything. On NetWare, the following path-prefixed form should | |||
# do anything. On NetWare, the following path-prefixed form should | |||
# always work. (afaict) | |||
$ANT_RUN_CMD .= "/".@ARGV[1]; | |||
} | |||
else { | |||
$ANT_RUN_CMD .= "/" . @ARGV[1]; | |||
} else { | |||
$ANT_RUN_CMD = @ARGV[1]; | |||
} | |||
@@ -55,8 +54,7 @@ shift; | |||
my $returnValue = system $ANT_RUN_CMD, @ARGV; | |||
if ($returnValue eq 0) { | |||
exit 0; | |||
} | |||
else { | |||
} else { | |||
# only 0 and 1 are widely recognized as exit values | |||
# so change the exit value to 1 | |||
exit 1; | |||
@@ -1,4 +1,4 @@ | |||
/* | |||
/* | |||
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. | |||
@@ -15,10 +15,10 @@ | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
# | |||
# A script to allow Bash or Z-Shell to complete an Ant command-line. | |||
# A script to allow Bash or Z-Shell to complete an Ant command-line. | |||
# | |||
# To install for Bash 2.0 or better, add the following to ~/.bashrc: | |||
# | |||
# | |||
# complete -C complete-ant-cmd.pl ant build.sh | |||
# | |||
# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc: | |||
@@ -37,11 +37,11 @@ my $word = $ARGV[1]; | |||
my @completions; | |||
if ($word =~ /^-/) { | |||
list( restrict( $word, getArguments() )); | |||
list(restrict($word, getArguments())); | |||
} elsif ($cmdLine =~ /-(f|file|buildfile)\s+\S*$/) { | |||
list( getBuildFiles($word) ); | |||
list(getBuildFiles($word)); | |||
} else { | |||
list( restrict( $word, getTargets() )); | |||
list(restrict($word, getTargets())); | |||
} | |||
exit(0); | |||
@@ -54,18 +54,18 @@ sub list { | |||
sub restrict { | |||
my ($word, @completions) = @_; | |||
grep( /^\Q$word\E/, @completions ); | |||
grep(/^\Q$word\E/, @completions); | |||
} | |||
sub getArguments { | |||
qw(-buildfile -debug -emacs -f -file -find -help -listener -logfile | |||
-logger -projecthelp -quiet -verbose -version); | |||
qw(-buildfile -debug -emacs -f -file -find -help -listener -logfile | |||
-logger -projecthelp -quiet -verbose -version); | |||
} | |||
sub getBuildFiles { | |||
my ($word) = @_; | |||
grep( /\.xml$/, glob( "$word*" )); | |||
grep(/\.xml$/, glob("$word*")); | |||
} | |||
sub getTargets { | |||
@@ -83,10 +83,10 @@ sub getTargets { | |||
my $cacheFile = $buildFile; | |||
$cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|; | |||
if ((!-e $cacheFile) || (-z $cacheFile) || (-M $buildFile) < (-M $cacheFile)) { | |||
open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n"; | |||
open( HELP, "$antCmd -projecthelp -debug -buildfile '$buildFile'|" ) || return(); | |||
open(CACHE, '>'.$cacheFile) || die "can\'t write $cacheFile: $!\n"; | |||
open(HELP, "$antCmd -projecthelp -debug -buildfile '$buildFile'|") || return(); | |||
my %targets; | |||
while( <HELP> ) { | |||
while (<HELP>) { | |||
# Exclude target names starting with dash, because they cannot be | |||
# specified on the command line. | |||
if (/^\s+\+Target:\s+(?!-)(\S+)/) { | |||
@@ -94,22 +94,21 @@ sub getTargets { | |||
} | |||
} | |||
my @targets = sort keys %targets; | |||
for (@targets) { print CACHE "$_\n"; } | |||
for (@targets) { | |||
print CACHE "$_\n"; | |||
} | |||
return @targets; | |||
} | |||
# Read the target-cache | |||
open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n"; | |||
open(CACHE, $cacheFile) || die "can\'t read $cacheFile: $!\n"; | |||
my @targets; | |||
while (<CACHE>) { | |||
chop; | |||
s/\r$//; # for Cygwin | |||
push( @targets, $_ ); | |||
push(@targets, $_); | |||
} | |||
close( CACHE ); | |||
close(CACHE); | |||
@targets; | |||
} | |||
@@ -5,9 +5,9 @@ REM this work for additional information regarding copyright ownership. | |||
REM The ASF licenses this file to You under the Apache License, Version 2.0 | |||
REM (the "License"); you may not use this file except in compliance with | |||
REM the License. You may obtain a copy of the License at | |||
REM | |||
REM | |||
REM http://www.apache.org/licenses/LICENSE-2.0 | |||
REM | |||
REM | |||
REM Unless required by applicable law or agreed to in writing, software | |||
REM distributed under the License is distributed on an "AS IS" BASIS, | |||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
@@ -28,4 +28,3 @@ goto argCheck | |||
:gotAllArgs | |||
set LOCALCLASSPATH=%LOCALCLASSPATH%;%_CLASSPATHCOMPONENT% | |||
@@ -27,7 +27,7 @@ | |||
# the code is not totally portable due to classpath and directory splitting | |||
# issues. oops. (NB, use File::Spec::Functions will help and the code is | |||
# structured for the catfile() call, but because of perl version funnies | |||
# the code is not included. | |||
# the code is not included. | |||
####################################################################### | |||
# | |||
# Assumptions: | |||
@@ -47,7 +47,7 @@ use strict; | |||
#use warnings; | |||
#and set $debug to 1 to turn on trace info | |||
my $debug=1; | |||
my $debug = 1; | |||
####################################################################### | |||
# | |||
@@ -55,43 +55,34 @@ my $debug=1; | |||
# | |||
my $HOME = $ENV{ANT_HOME}; | |||
if ($HOME eq "") | |||
{ | |||
if (!$HOME) { | |||
die "\n\nANT_HOME *MUST* be set!\n\n"; | |||
} | |||
} | |||
my $JAVACMD = $ENV{JAVACMD}; | |||
$JAVACMD = "java" if $JAVACMD eq ""; | |||
my $JAVACMD = $ENV{JAVACMD} || "java"; | |||
my $onnetware = 0; | |||
if ($^O eq "NetWare") | |||
{ | |||
$onnetware = 1; | |||
} | |||
my $onnetware = ($^O eq "NetWare"); | |||
my $oncygwin = ($^O eq "cygwin"); | |||
#ISSUE: what java wants to split up classpath varies from platform to platform | |||
#ISSUE: what java wants to split up classpath varies from platform to platform | |||
#and perl is not too hot at hinting which box it is on. | |||
#here I assume ":" 'cept on win32, dos, and netware. Add extra tests here as needed. | |||
my $s=":"; | |||
if(($^O eq "MSWin32") || ($^O eq "dos") || ($^O eq "cygwin") || | |||
($onnetware == 1)) | |||
{ | |||
$s=";"; | |||
} | |||
my $s = ":"; | |||
if (($^O eq "MSWin32") || ($^O eq "dos") || $oncygwin || $onnetware) { | |||
$s=";"; | |||
} | |||
#build up standard classpath | |||
my $localpath = "$HOME/lib/ant-launcher.jar"; | |||
#set JVM options and Ant arguments, if any | |||
my @ANT_OPTS=split(" ", $ENV{ANT_OPTS}); | |||
my @ANT_ARGS=split(" ", $ENV{ANT_ARGS}); | |||
my @ANT_OPTS = split(" ", $ENV{ANT_OPTS}); | |||
my @ANT_ARGS = split(" ", $ENV{ANT_ARGS}); | |||
#jikes | |||
if($ENV{JIKESPATH} ne "") | |||
{ | |||
push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}"; | |||
} | |||
if ($ENV{JIKESPATH}) { | |||
push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}"; | |||
} | |||
#construct arguments to java | |||
my @ARGS; | |||
@@ -99,52 +90,43 @@ push @ARGS, @ANT_OPTS; | |||
my $CYGHOME = ""; | |||
my $classpath=$ENV{CLASSPATH}; | |||
if ($oncygwin == 1) { | |||
$localpath = `cygpath --path --windows $localpath`; | |||
chomp ($localpath); | |||
if (! $classpath eq "") | |||
{ | |||
$classpath = `cygpath --path --windows "$classpath"`; | |||
chomp ($classpath); | |||
} | |||
$HOME = `cygpath --path --windows $HOME`; | |||
chomp ($HOME); | |||
$CYGHOME = `cygpath --path --windows $ENV{HOME}`; | |||
chomp ($CYGHOME); | |||
my $classpath = $ENV{CLASSPATH}; | |||
if ($oncygwin) { | |||
$localpath = `cygpath --path --windows $localpath`; | |||
chomp ($localpath); | |||
if ($classpath) { | |||
$classpath = `cygpath --path --windows "$classpath"`; | |||
chomp ($classpath); | |||
} | |||
$HOME = `cygpath --path --windows $HOME`; | |||
chomp ($HOME); | |||
$CYGHOME = `cygpath --path --windows $ENV{HOME}`; | |||
chomp ($CYGHOME); | |||
} | |||
push @ARGS, "-classpath", "$localpath"; | |||
push @ARGS, "-Dant.home=$HOME"; | |||
if ( ! $CYGHOME eq "" ) | |||
{ | |||
push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\"" | |||
if ($CYGHOME) { | |||
push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\"" | |||
} | |||
push @ARGS, "org.apache.tools.ant.launch.Launcher", @ANT_ARGS; | |||
push @ARGS, @ARGV; | |||
if (! $classpath eq "") | |||
{ | |||
if ($onnetware == 1) | |||
{ | |||
# make classpath literally $CLASSPATH | |||
# this is to avoid pushing us over the 512 character limit | |||
# even skip the ; - that is already in $localpath | |||
push @ARGS, "-lib", "\$CLASSPATH"; | |||
} | |||
else | |||
{ | |||
push @ARGS, "-lib", "$classpath"; | |||
} | |||
if ($classpath) { | |||
if ($onnetware) { | |||
# make classpath literally $CLASSPATH | |||
# this is to avoid pushing us over the 512 character limit | |||
# even skip the ; - that is already in $localpath | |||
push @ARGS, "-lib", "\$CLASSPATH"; | |||
} else { | |||
push @ARGS, "-lib", "$classpath"; | |||
} | |||
} | |||
print "\n $JAVACMD @ARGS\n\n" if ($debug); | |||
my $returnValue = system $JAVACMD, @ARGS; | |||
if ($returnValue eq 0) | |||
{ | |||
exit 0; | |||
} | |||
else | |||
{ | |||
# only 0 and 1 are widely recognized as exit values | |||
# so change the exit value to 1 | |||
exit 1; | |||
} | |||
if ($returnValue eq 0) { | |||
exit 0; | |||
} else { | |||
# only 0 and 1 are widely recognized as exit values | |||
# so change the exit value to 1 | |||
exit 1; | |||
} |
@@ -1,4 +1,4 @@ | |||
/* | |||
/* | |||
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. | |||
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
Run RC file, name is in the first arg, second arg is either PATH | |||
ENV or -r or nothing | |||
ENV or -r or nothing | |||
*/ | |||
parse arg name path rest | |||