From: wisberg Date: Wed, 11 May 2005 08:34:19 +0000 (+0000) Subject: Ant 1.6.3 X-Git-Tag: PRE_ANDY~356 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a30b4b76da6491d53c364a8c805bb2d3d805c16c;p=aspectj.git Ant 1.6.3 --- diff --git a/lib/ant/ant-src.zip b/lib/ant/ant-src.zip index 176cbfd80..4da88b5c0 100644 Binary files a/lib/ant/ant-src.zip and b/lib/ant/ant-src.zip differ diff --git a/lib/ant/aspectj-ant-readme.txt b/lib/ant/aspectj-ant-readme.txt index b24cb5b3a..ad82c1676 100644 --- a/lib/ant/aspectj-ant-readme.txt +++ b/lib/ant/aspectj-ant-readme.txt @@ -1,14 +1,14 @@ -The AspectJ tree builds using a variant of Ant 1.5.1. +The AspectJ tree builds using Ant 1.6.3. +(No longer is a special version of Ant required.) -lib/ contains Ant 1.5.1 core and optional taskdef classes, -as well as xalan.jar which is used for the junitreport task. +To run tests using the junit task, junit.jar is added to lib/. -To run tests with the junit task, junit.jar must be added -to the system classpath with optional.jar; the script in -aspectj/build/bin/ant.[bat|sh] does this. +This directory contains: -To run junit tests and junitreport (and other optional tasks) requires -declaring the taskdef explicitly. See build-modules.xml. +o The contents of the binary distribution of Ant 1.6.3, + not including the docs directory. -For ant scripts, use build/bin/ant.[bat|sh], which adds junit.jar. +o ant-src.zip, .java extracted from the source distribution of Ant 1.6.3. + +For Ant, see http://ant.apache.org. diff --git a/lib/ant/bin/ant b/lib/ant/bin/ant index 6b32c478f..cf336db07 100644 --- a/lib/ant/bin/ant +++ b/lib/ant/bin/ant @@ -1,203 +1,299 @@ -#! /bin/sh - -# Copyright (c) 2001-2002 The Apache Software Foundation. All rights -# reserved. - -# load system-wide ant configuration -if [ -f "/etc/ant.conf" ] ; then - . /etc/ant.conf -fi - -# provide default values for people who don't use RPMs -if [ -z "$rpm_mode" ] ; then - rpm_mode=false; -fi -if [ -z "$usejikes" ] ; then - usejikes=false; -fi - -# load user ant configuration -if [ -f "$HOME/.antrc" ] ; then - . "$HOME/.antrc" -fi - -# OS specific support. $var _must_ be set to either true or false. -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 - ;; -esac - -if [ -z "$ANT_HOME" ] ; then - # try to find ANT - if [ -d /opt/ant ] ; then - ANT_HOME=/opt/ant - fi - - if [ -d "${HOME}/opt/ant" ] ; then - ANT_HOME="${HOME}/opt/ant" - fi - - ## resolve links - $0 may be a link to ant's home - PRG="$0" - progname=`basename "$0"` - saveddir=`pwd` - - # need this for relative symlinks - cd `dirname "$PRG"` - - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '.*/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi - done - - ANT_HOME=`dirname "$PRG"`/.. - - cd "$saveddir" - - # make it fully qualified - ANT_HOME=`cd "$ANT_HOME" && pwd` -fi - -# For Cygwin, 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"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# set ANT_LIB location -ANT_LIB="${ANT_HOME}/lib" - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD=java - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." - echo " We cannot execute $JAVACMD" - exit 1 -fi - -if [ -n "$CLASSPATH" ] ; then - LOCALCLASSPATH="$CLASSPATH" -fi - -# in rpm_mode get ant/optional/xml parser&api from JAVALIBDIR -if $rpm_mode; then - JAVALIBDIR=/usr/share/java - for i in ant ant-optional jaxp_parser xml_apis - do - if [ -z "$LOCALCLASSPATH" ] ; then - LOCALCLASSPATH="$JAVALIBDIR/$i.jar" - else - LOCALCLASSPATH="$JAVALIBDIR/$i.jar":"$LOCALCLASSPATH" - fi - done - - # in rpm mode ant/lib is in /usr/share/java/ant - ANT_LIB="${JAVALIBDIR}/ant" -fi - -# add in the dependency .jar files in non-RPM mode (the default) -for i in "${ANT_LIB}"/*.jar -do - # if the directory is empty, then it will return the input string - # this is stupid, so case for it - if [ -f "$i" ] ; then - if [ -z "$LOCALCLASSPATH" ] ; then - LOCALCLASSPATH="$i" - else - LOCALCLASSPATH="$i":"$LOCALCLASSPATH" - fi - fi -done -## AspectJ change: add in junit -if [ -f "${ANT_HOME}"/../junit/junit.jar ] ; then - LOCALCLASSPATH="${ANT_HOME}/../junit/junit.jar":"$LOCALCLASSPATH" -fi - -if [ -n "$JAVA_HOME" ] ; 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 - LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip" - fi - - # OSX hack to make Ant work with jikes - if $darwin ; then - OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes" - if [ -d ${OSXHACK} ] ; then - for i in ${OSXHACK}/*.jar - do - JIKESPATH="$JIKESPATH:$i" - done - fi - fi -else - echo "Warning: JAVA_HOME environment variable is not set." - echo " If build fails because sun.* classes could not be found" - echo " you will need to set the JAVA_HOME environment variable" - echo " to the installation directory of java." -fi - -# Allow Jikes support (off by default) -if $usejikes; then - ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes" -fi - -# defined to be able to test taskdefs immediately -if [ -n "$USE_TASKDEFS" ] ; then - LOCALCLASSPATH="$ANT_HOME/../../taskdefs/bin;$LOCALCLASSPATH" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - ANT_HOME=`cygpath --path --windows "$ANT_HOME"` - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"` - CYGHOME=`cygpath --path --windows "$HOME"` -fi - -if [ -n "$CYGHOME" ]; then - if [ -n "$JIKESPATH" ]; then - JIKESPATH=`cygpath --path --windows "$JIKESPATH"` - "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Djikes.class.path="$JIKESPATH" -Dcygwin.user.home="$CYGHOME" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@" - else - # AspectJ change: increase max heap size - "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Dcygwin.user.home="$CYGHOME" -Xmx1024M $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@" - fi -else - if [ -n "$JIKESPATH" ]; then - "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Djikes.class.path="$JIKESPATH" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@" - else - # AspectJ change: increase max heap size - "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Xmx1024M $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@" - fi -fi - +#! /bin/sh + +# Copyright 2001-2005 The Apache Software Foundation +# +# Licensed 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. + +# Extract launch and ant arguments, (see details below). +ant_exec_args= +no_config=false +use_jikes_default=false +ant_exec_debug=false +show_help=false +for arg in "$@" ; do + if [ "$arg" = "--noconfig" ] ; then + no_config=true + elif [ "$arg" = "--usejikes" ] ; then + use_jikes_default=true + elif [ "$arg" = "--execdebug" ] ; then + ant_exec_debug=true + 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 + show_help=true + fi + ant_exec_args="$ant_exec_args \"$arg\"" + fi +done + +# Source/default ant configuration +if $no_config ; then + rpm_mode=false + usejikes=$use_jikes_default +else + # load system-wide ant configuration + if [ -f "/etc/ant.conf" ] ; then + . /etc/ant.conf + fi + + # load user ant configuration + if [ -f "$HOME/.ant/ant.conf" ] ; then + . $HOME/.ant/ant.conf + fi + if [ -f "$HOME/.antrc" ] ; then + . "$HOME/.antrc" + fi + + # provide default configuration values + if [ -z "$rpm_mode" ] ; then + rpm_mode=false + fi + 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 + . /usr/share/java-utils/java-functions + set_jvm + set_javacmd + fi +fi + +# OS specific support. $var _must_ be set to either true or false. +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 + ;; +esac + +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 + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi + done + + ANT_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + ANT_HOME=`cd "$ANT_HOME" && pwd` +fi + +# For Cygwin, 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"` +fi + +# set ANT_LIB location +ANT_LIB="${ANT_HOME}/lib" + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD=`which java 2> /dev/null ` + if [ -z "$JAVACMD" ] ; then + JAVACMD=java + fi + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." + echo " We cannot execute $JAVACMD" + exit 1 +fi + +# Build local classpath using just the launcher in non-rpm mode or +# use the Jpackage helper in rpm mode with basic and default jars +# specified in the ant.conf configuration. Because the launcher is +# used, libraries linked in ANT_HOME will also be include, but this +# 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 && [ -f /usr/bin/build-classpath ] ; then + LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)" + # If the user requested to try to add some other jars to the classpath + if [ -n "$OPT_JAR_LIST" ] ; then + _OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)" + 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 + LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar" + fi + if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then + LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip" + fi + + # if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be + # user CLASSPATH first and ant-found jars after. + # In that case, the user CLASSPATH will override ant-found jars + # + # 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 + LOCALCLASSPATH="$CLASSPATH" + elif [ -n "$CLASSPATH_OVERRIDE" ] ; then + LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH" + else + LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH" + fi + + # remove class path from launcher -cp option + CLASSPATH="" + fi +else + # not using rpm_mode; use launcher to determine classpaths + 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 + # OSX hack to make Ant work with jikes + if $darwin ; then + OSXHACK="${JAVA_HOME}/../Classes" + if [ -d "${OSXHACK}" ] ; then + for i in "${OSXHACK}"/*.jar + do + JIKESPATH="$JIKESPATH:$i" + done + fi + fi +fi + +# Allow Jikes support (off by default) +if $usejikes; then + ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes" +fi + +# For Cygwin, switch paths to appropriate format before running java +# For PATHs convert to unix format first, then to windows format to ensure +# both formats are supported. Probably this will fail on directories with ; +# 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 + format=mixed + else + format=windows + fi + ANT_HOME=`cygpath --$format "$ANT_HOME"` + ANT_LIB=`cygpath --$format "$ANT_LIB"` + JAVA_HOME=`cygpath --$format "$JAVA_HOME"` + LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"` + LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"` + if [ -n "$CLASSPATH" ] ; then + CP_TEMP=`cygpath --path --unix "$CLASSPATH"` + CLASSPATH=`cygpath --path --$format "$CP_TEMP"` + fi + CYGHOME=`cygpath --$format "$HOME"` +fi + +# Show script help if requested +if $show_help ; then + echo $0 '[script options] [options] [target [target2 [target3] ..]]' + echo 'Script Options:' + echo ' --help, --h print this message and ant help' + echo ' --noconfig suppress sourcing of /etc/ant.conf,' + echo ' $HOME/.ant/ant.conf, and $HOME/.antrc' + echo ' configuration files' + echo ' --usejikes enable use of jikes by default, unless' + echo ' set explicitly in configuration files' + echo ' --execdebug print ant exec line generated by this' + echo ' launch script' + 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\\" + ;; + esac + case "$CYGHOME" in + *\\ ) + CYGHOME="$CYGHOME\\" + ;; + esac + case "$JIKESPATH" in + *\\ ) + JIKESPATH="$JIKESPATH\\" + ;; + esac + case "$LOCALCLASSPATH" in + *\\ ) + LOCALCLASSPATH="$LOCALCLASSPATH\\" + ;; + esac + case "$CLASSPATH" in + *\\ ) + CLASSPATH="$CLASSPATH\\" + ;; + esac +fi +# Execute ant using eval/exec to preserve spaces in paths, +# java options, and ant args +ant_sys_opts= +if [ -n "$CYGHOME" ]; then + if [ -n "$JIKESPATH" ]; then + ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\"" + else + ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\"" + fi +else + if [ -n "$JIKESPATH" ]; then + ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\"" + 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\" $ant_exec_args" +if $ant_exec_debug ; then + echo $ant_exec_command +fi +eval $ant_exec_command diff --git a/lib/ant/bin/ant.bat b/lib/ant/bin/ant.bat index 265d60d42..55df28186 100644 --- a/lib/ant/bin/ant.bat +++ b/lib/ant/bin/ant.bat @@ -1,11 +1,23 @@ @echo off -REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights -REM reserved. +REM Copyright 2001,2004-2005 The Apache Software Foundation +REM +REM Licensed under the Apache License, Version 2.0 (the "License"); +REM you may not use this file except in compliance with the License. +REM You may obtain a copy of the License at +REM +REM http://www.apache.org/licenses/LICENSE-2.0 +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. +REM See the License for the specific language governing permissions and +REM limitations under the License. if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat" if "%OS%"=="Windows_NT" @setlocal +if "%OS%"=="WINNT" @setlocal rem %~dp0 is expanded pathname of the current script under NT set DEFAULT_ANT_HOME=%~dp0.. @@ -13,39 +25,48 @@ set DEFAULT_ANT_HOME=%~dp0.. if "%ANT_HOME%"=="" set ANT_HOME=%DEFAULT_ANT_HOME% set DEFAULT_ANT_HOME= -REM aspectJ disabled - separates -Dfoo=bar into -Dfoo bar +set _USE_CLASSPATH=yes + rem Slurp the command line arguments. This loop allows for an unlimited number rem of arguments (up to the command line limit, anyway). -rem set ANT_CMD_LINE_ARGS=%1 -rem if ""%1""=="""" goto doneStart -rem shift -rem :setupArgs -rem if ""%1""=="""" goto doneStart -rem set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1 -rem shift -rem goto setupArgs -rem This label provides a place for the argument list loop to break out +set ANT_CMD_LINE_ARGS=%1 +if ""%1""=="""" goto doneStart +shift +:setupArgs +if ""%1""=="""" goto doneStart +if ""%1""==""-noclasspath"" goto clearclasspath +set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1 +shift +goto setupArgs + +rem here is there is a -noclasspath in the options +:clearclasspath +set _USE_CLASSPATH=no +shift +goto setupArgs + +rem This label provides a place for the argument list loop to break out rem and for NT handling to skip to. -rem :doneStart +:doneStart rem find ANT_HOME if it does not exist due to either an invalid value passed rem by the user or the %0 problem on Windows 9x -if exist "%ANT_HOME%" goto checkJava +if exist "%ANT_HOME%\lib\ant.jar" goto checkJava -rem check for ant in Program Files on system drive -if not exist "%SystemDrive%\Program Files\ant" goto checkSystemDrive -set ANT_HOME=%SystemDrive%\Program Files\ant +rem check for ant in Program Files +if not exist "%ProgramFiles%\ant" goto checkSystemDrive +set ANT_HOME=%ProgramFiles%\ant goto checkJava :checkSystemDrive rem check for ant in root directory of system drive -if not exist %SystemDrive%\ant\nul goto checkCDrive +if not exist %SystemDrive%\ant\lib\ant.jar goto checkCDrive set ANT_HOME=%SystemDrive%\ant goto checkJava :checkCDrive rem check for ant in C:\ant for Win9X users -if not exist C:\ant\nul goto noAntHome +if not exist C:\ant\lib\ant.jar goto noAntHome set ANT_HOME=C:\ant goto checkJava @@ -54,45 +75,51 @@ echo ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOM goto end :checkJava -set LOCALCLASSPATH=%CLASSPATH% -for %%i in ("%ANT_HOME%\lib\*.jar") do call "%ANT_HOME%\bin\lcp.bat" %%i -rem aspectj adding junit to everything... -call "%ANT_HOME%\bin\lcp.bat" %ANT_HOME%\..\junit\junit.jar +set _JAVACMD=%JAVACMD% if "%JAVA_HOME%" == "" goto noJavaHome if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome -set _JAVACMD=%JAVA_HOME%\bin\java.exe -if exist "%JAVA_HOME%\lib\tools.jar" call "%ANT_HOME%\bin\lcp.bat" %JAVA_HOME%\lib\tools.jar -if exist "%JAVA_HOME%\lib\classes.zip" call "%ANT_HOME%\bin\lcp.bat" %JAVA_HOME%\lib\classes.zip +if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe goto checkJikes :noJavaHome -set _JAVACMD=java.exe -echo. -echo Warning: JAVA_HOME environment variable is not set. -echo If build fails because sun.* classes could not be found -echo you will need to set the JAVA_HOME environment variable -echo to the installation directory of java. -echo. +if "%_JAVACMD%" == "" set _JAVACMD=java.exe :checkJikes if not "%JIKESPATH%"=="" goto runAntWithJikes :runAnt -REM aspectJ increased max heap size for test purposes. -"%_JAVACMD%" -classpath "%LOCALCLASSPATH%" "-Dant.home=%ANT_HOME%" -Xmx1024M %ANT_OPTS% org.apache.tools.ant.Main %* +if "%_USE_CLASSPATH%"=="no" goto runAntNoClasspath +if not "%CLASSPATH%"=="" goto runAntWithClasspath +"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% %ANT_CMD_LINE_ARGS% +goto end + +:runAntNoClasspath +"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% %ANT_CMD_LINE_ARGS% +goto end + +:runAntWithClasspath +"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% -cp "%CLASSPATH%" %ANT_CMD_LINE_ARGS% goto end :runAntWithJikes -"%_JAVACMD%" -classpath "%LOCALCLASSPATH%" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" %ANT_OPTS% org.apache.tools.ant.Main %* +if "%_USE_CLASSPATH%"=="no" goto runAntWithJikesNoClasspath +if not "%CLASSPATH%"=="" goto runAntWithJikesAndClasspath + +:runAntWithJikesNoClasspath +"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% %ANT_CMD_LINE_ARGS% +goto end + +:runAntWithJikesAndClasspath +"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% -cp "%CLASSPATH%" %ANT_CMD_LINE_ARGS% goto end :end -set LOCALCLASSPATH= set _JAVACMD= set ANT_CMD_LINE_ARGS= if "%OS%"=="Windows_NT" @endlocal +if "%OS%"=="WINNT" @endlocal :mainEnd if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat" diff --git a/lib/ant/bin/antRun b/lib/ant/bin/antRun index cba56f16d..baddd71cd 100644 --- a/lib/ant/bin/antRun +++ b/lib/ant/bin/antRun @@ -1,12 +1,26 @@ -#! /bin/sh - -# Copyright (c) 2001-2002 The Apache Software Foundation. All rights -# reserved. - -# Args: DIR command -cd "$1" -CMD="$2" -shift -shift - -exec "$CMD" "$@" +#!/bin/sh + +# +# Copyright 2001-2002,2004 The Apache Software Foundation +# +# Licensed 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. +# +# + +# Args: DIR command +cd "$1" +CMD="$2" +shift +shift + +exec "$CMD" "$@" diff --git a/lib/ant/bin/antRun.bat b/lib/ant/bin/antRun.bat index e8125f660..aae98ccf0 100644 --- a/lib/ant/bin/antRun.bat +++ b/lib/ant/bin/antRun.bat @@ -1,9 +1,24 @@ @echo off -REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights -REM reserved. +REM +REM Copyright 2001-2002,2004-2005 The Apache Software Foundation +REM +REM Licensed under the Apache License, Version 2.0 (the "License"); +REM you may not use this file except in compliance with the License. +REM You may obtain a copy of the License at +REM +REM http://www.apache.org/licenses/LICENSE-2.0 +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. +REM See the License for the specific language governing permissions and +REM limitations under the License. +REM +REM if "%OS%"=="Windows_NT" @setlocal +if "%OS%"=="WINNT" @setlocal if ""%1""=="""" goto runCommand @@ -28,4 +43,5 @@ rem echo %ANT_RUN_CMD% %ANT_RUN_CMD% if "%OS%"=="Windows_NT" @endlocal +if "%OS%"=="WINNT" @endlocal diff --git a/lib/ant/bin/antRun.pl b/lib/ant/bin/antRun.pl index 1851b50ce..7cdd8687c 100644 --- a/lib/ant/bin/antRun.pl +++ b/lib/ant/bin/antRun.pl @@ -1,51 +1,65 @@ -#!/usr/bin/perl -####################################################################### -# -# antRun.pl -# -# wrapper script for invoking commands on a platform with Perl installed -# this is akin to antRun.bat, and antRun the SH script -# -# created: 2001-10-18 -# last modified: 2001-11-13 -# author: Jeff Tulley jtulley@novell.com -####################################################################### -#be fussy about variables -use strict; - -#turn warnings on during dev; generates a few spurious uninitialised var access warnings -#use warnings; - -#and set $debug to 1 to turn on trace info (currently unused) -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"; -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 - # always work. (afaict) - $ANT_RUN_CMD .= "/".@ARGV[1]; -} -else { - $ANT_RUN_CMD = @ARGV[1]; -} - -# dispose of the first two arguments, leaving only the command's args. -shift; -shift; - -# run the command -my $returnValue = system $ANT_RUN_CMD, @ARGV; -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; -} +#!/usr/bin/perl +# +# Copyright 2001,2003-2004 The Apache Software Foundation +# +# Licensed 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. +# +####################################################################### +# +# antRun.pl +# +# wrapper script for invoking commands on a platform with Perl installed +# this is akin to antRun.bat, and antRun the SH script +# +# created: 2001-10-18 +# author: Jeff Tulley jtulley@novell.com +####################################################################### +#be fussy about variables +use strict; + +#turn warnings on during dev; generates a few spurious uninitialised var access warnings +#use warnings; + +#and set $debug to 1 to turn on trace info (currently unused) +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"; +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 + # always work. (afaict) + $ANT_RUN_CMD .= "/".@ARGV[1]; +} +else { + $ANT_RUN_CMD = @ARGV[1]; +} + +# dispose of the first two arguments, leaving only the command's args. +shift; +shift; + +# run the command +my $returnValue = system $ANT_RUN_CMD, @ARGV; +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; +} diff --git a/lib/ant/bin/complete-ant-cmd.pl b/lib/ant/bin/complete-ant-cmd.pl index 58d7b2367..20dd47619 100644 --- a/lib/ant/bin/complete-ant-cmd.pl +++ b/lib/ant/bin/complete-ant-cmd.pl @@ -1,102 +1,113 @@ -#!/usr/bin/perl -# -# Copyright (c) 2001 The Apache Software Foundation. All rights -# reserved. -# -# 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 ant build.sh -# -# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc: -# -# function ant_complete () { -# local args_line args -# read -l args_line -# set -A args $args_line -# set -A reply $(COMP_LINE=$args_line complete-ant-cmd ${args[1]} $1) -# } -# compctl -K ant_complete ant build.sh -# -# @author Mike Williams - -my $cmdLine = $ENV{'COMP_LINE'}; -my $antCmd = $ARGV[0]; -my $word = $ARGV[1]; - -my @completions; -if ($word =~ /^-/) { - list( restrict( $word, getArguments() )); -} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) { - list( getBuildFiles($word) ); -} else { - list( restrict( $word, getTargets() )); -} - -exit(0); - -sub list { - for (@_) { - print "$_\n"; - } -} - -sub restrict { - my ($word, @completions) = @_; - grep( /^\Q$word\E/, @completions ); -} - -sub getArguments { - qw(-buildfile -debug -emacs -f -find -help -listener -logfile - -logger -projecthelp -quiet -verbose -version); -} - - -sub getBuildFiles { - my ($word) = @_; - grep( /\.xml$/, glob( "$word*" )); -} - -sub getTargets { - - # Look for build-file - my $buildFile = 'build.xml'; - if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) { - $buildFile = $2; - } - return () unless (-f $buildFile); - - # Run "ant -projecthelp" to list targets. Keep a cache of results in a - # cache-file. - my $cacheFile = $buildFile; - $cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|; - if ((!-e $cacheFile) || (-M $buildFile) < (-M $cacheFile)) { - open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n"; - open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return(); - my %targets; - while( ) { - if (/^\s+(\S+)/) { - $targets{$1}++; - } - } - my @targets = sort keys %targets; - for (@targets) { print CACHE "$_\n"; } - return @targets; - } - - # Read the target-cache - open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n"; - my @targets; - while () { - chop; - s/\r$//; # for Cygwin - push( @targets, $_ ); - } - close( CACHE ); - @targets; - -} - - - +#!/usr/bin/perl +# +# Copyright 2001,2004 The Apache Software Foundation +# +# Licensed 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. +# +# 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 ant build.sh +# +# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc: +# +# function ant_complete () { +# local args_line args +# read -l args_line +# set -A args $args_line +# set -A reply $(COMP_LINE=$args_line complete-ant-cmd ${args[1]} $1) +# } +# compctl -K ant_complete ant build.sh +# +# @author Mike Williams + +my $cmdLine = $ENV{'COMP_LINE'}; +my $antCmd = $ARGV[0]; +my $word = $ARGV[1]; + +my @completions; +if ($word =~ /^-/) { + list( restrict( $word, getArguments() )); +} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) { + list( getBuildFiles($word) ); +} else { + list( restrict( $word, getTargets() )); +} + +exit(0); + +sub list { + for (@_) { + print "$_\n"; + } +} + +sub restrict { + my ($word, @completions) = @_; + grep( /^\Q$word\E/, @completions ); +} + +sub getArguments { + qw(-buildfile -debug -emacs -f -find -help -listener -logfile + -logger -projecthelp -quiet -verbose -version); +} + + +sub getBuildFiles { + my ($word) = @_; + grep( /\.xml$/, glob( "$word*" )); +} + +sub getTargets { + + # Look for build-file + my $buildFile = 'build.xml'; + if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) { + $buildFile = $2; + } + return () unless (-f $buildFile); + + # Run "ant -projecthelp" to list targets. Keep a cache of results in a + # cache-file. + my $cacheFile = $buildFile; + $cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|; + if ((!-e $cacheFile) || (-M $buildFile) < (-M $cacheFile)) { + open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n"; + open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return(); + my %targets; + while( ) { + if (/^\s+(\S+)/) { + $targets{$1}++; + } + } + my @targets = sort keys %targets; + for (@targets) { print CACHE "$_\n"; } + return @targets; + } + + # Read the target-cache + open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n"; + my @targets; + while () { + chop; + s/\r$//; # for Cygwin + push( @targets, $_ ); + } + close( CACHE ); + @targets; + +} + + + diff --git a/lib/ant/bin/lcp.bat b/lib/ant/bin/lcp.bat index 9b1a9b5a0..6a1f679e7 100644 --- a/lib/ant/bin/lcp.bat +++ b/lib/ant/bin/lcp.bat @@ -1,5 +1,19 @@ -REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights -REM reserved. +REM +REM Copyright 2001-2004 The Apache Software Foundation +REM +REM Licensed under the Apache License, Version 2.0 (the "License"); +REM you may not use this file except in compliance with the License. +REM You may obtain a copy of the License at +REM +REM http://www.apache.org/licenses/LICENSE-2.0 +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. +REM See the License for the specific language governing permissions and +REM limitations under the License. +REM +REM set _CLASSPATHCOMPONENT=%1 if ""%1""=="""" goto gotAllArgs diff --git a/lib/ant/bin/runant.pl b/lib/ant/bin/runant.pl index a8c0c08cf..eca470822 100644 --- a/lib/ant/bin/runant.pl +++ b/lib/ant/bin/runant.pl @@ -1,162 +1,152 @@ -#!/usr/bin/perl -# -# Copyright (c) 2001-2002 The Apache Software Foundation. All rights -# reserved. -# -####################################################################### -# -# runant.pl -# -# wrapper script for invoking ant in a platform with Perl installed -# this may include cgi-bin invocation, which is considered somewhat daft. -# (slo: that should be a separate file which can be derived from this -# and returns the XML formatted output) -# -# 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. -# -# created: 2000-8-24 -# last modified: 2000-8-24 -# author: Steve Loughran steve_l@sourceforge.net -####################################################################### -# -# Assumptions: -# -# - the "java" executable/script is on the command path -# - ANT_HOME has been set -# - target platform uses ":" as classpath separator or perl indicates it is dos/win32 -# - target platform uses "/" as directory separator. - -#be fussy about variables -use strict; - -#platform specifics (disabled) -#use File::Spec::Functions; - -#turn warnings on during dev; generates a few spurious uninitialised var access warnings -#use warnings; - -#and set $debug to 1 to turn on trace info -my $debug=0; - -####################################################################### -# -# check to make sure environment is setup -# - -my $HOME = $ENV{ANT_HOME}; -if ($HOME eq "") - { - die "\n\nANT_HOME *MUST* be set!\n\n"; - } - -my $JAVACMD = $ENV{JAVACMD}; -$JAVACMD = "java" if $JAVACMD eq ""; - -my $onnetware = 0; -if ($^O eq "NetWare") -{ - $onnetware = 1; -} - -#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=";"; - } - -#build up standard classpath -my $localpath=$ENV{CLASSPATH}; -if ($localpath eq "") - { - print "warning: no initial classpath\n" if ($debug); - $localpath=""; - } -if ($onnetware == 1) -{ -# avoid building a command line bigger than 512 characters - make localpath -# only include the "extra" stuff, and add in the system classpath as an expanded -# variable. - $localpath=""; -} - -#add jar files. I am sure there is a perl one liner to do this. -my $jarpattern="$HOME/lib/*.jar"; -my @jarfiles =glob($jarpattern); -print "jarfiles=@jarfiles\n" if ($debug); -my $jar; -foreach $jar (@jarfiles ) - { - $localpath.="$s$jar"; - } - -#if Java home is defined, look for tools.jar & classes.zip and add to classpath -my $JAVA_HOME = $ENV{JAVA_HOME}; -if ($JAVA_HOME ne "") - { - my $tools="$JAVA_HOME/lib/tools.jar"; - if (-e "$tools") - { - $localpath .= "$s$tools"; - } - my $classes="$JAVA_HOME/lib/classes.zip"; - if (-e $classes) - { - $localpath .= "$s$classes"; - } - } -else - { - print "\n\nWarning: JAVA_HOME environment variable is not set.\n". - "If the build fails because sun.* classes could not be found\n". - "you will need to set the JAVA_HOME environment variable\n". - "to the installation directory of java\n"; - } - -#set JVM options and Ant arguments, if any -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}"; - } - -#construct arguments to java -my @ARGS; -if ($onnetware == 1) -{ -# make classpath literally $CLASSPATH; and then the contents of $localpath -# this is to avoid pushing us over the 512 character limit -# even skip the ; - that is already in $localpath - push @ARGS, "-classpath", "\$CLASSPATH$localpath"; -} -else -{ - push @ARGS, "-classpath", "$localpath"; -} -push @ARGS, "-Dant.home=$HOME"; -push @ARGS, @ANT_OPTS; -push @ARGS, "org.apache.tools.ant.Main", @ANT_ARGS; -push @ARGS, @ARGV; - -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; - } +#!/usr/bin/perl +# +# Copyright 2000-2004 The Apache Software Foundation +# +# Licensed 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. +# +####################################################################### +# +# runant.pl +# +# wrapper script for invoking ant in a platform with Perl installed +# this may include cgi-bin invocation, which is considered somewhat daft. +# (slo: that should be a separate file which can be derived from this +# and returns the XML formatted output) +# +# 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. +# +# created: 2000-8-24 +# author: Steve Loughran steve_l@sourceforge.net +####################################################################### +# +# Assumptions: +# +# - the "java" executable/script is on the command path +# - ANT_HOME has been set +# - target platform uses ":" as classpath separator or perl indicates it is dos/win32 +# - target platform uses "/" as directory separator. + +#be fussy about variables +use strict; + +#platform specifics (disabled) +#use File::Spec::Functions; + +#turn warnings on during dev; generates a few spurious uninitialised var access warnings +#use warnings; + +#and set $debug to 1 to turn on trace info +my $debug=1; + +####################################################################### +# +# check to make sure environment is setup +# + +my $HOME = $ENV{ANT_HOME}; +if ($HOME eq "") + { + die "\n\nANT_HOME *MUST* be set!\n\n"; + } + +my $JAVACMD = $ENV{JAVACMD}; +$JAVACMD = "java" if $JAVACMD eq ""; + +my $onnetware = 0; +if ($^O eq "NetWare") +{ + $onnetware = 1; +} + +my $oncygwin = ($^O eq "cygwin"); + +#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=";"; + } + +#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}); + +#jikes +if($ENV{JIKESPATH} ne "") + { + push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}"; + } + +#construct arguments to java +my @ARGS; +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); +} +push @ARGS, "-classpath", "$localpath"; +push @ARGS, "-Dant.home=$HOME"; +if ( ! $CYGHOME eq "" ) +{ + 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"; + } +} +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; + } diff --git a/lib/ant/bin/runant.py b/lib/ant/bin/runant.py index f014fa6d9..c7b53b692 100644 --- a/lib/ant/bin/runant.py +++ b/lib/ant/bin/runant.py @@ -1,99 +1,100 @@ -#!/usr/bin/python -""" - - runant.py - - This script is a translation of the runant.pl written by Steve Loughran. - It runs ant with/out arguments, it should be quite portable (thanks to - the python os library) - This script has been tested with Python2.0/Win2K - - Copyright (c) 2001 The Apache Software Foundation. All rights - reserved. - - created: 2001-04-11 - author: Pierre Dittgen pierre.dittgen@criltelecom.com - - Assumptions: - - - the "java" executable/script is on the command path - - ANT_HOME has been set -""" -import os, os.path, string, sys - -# Change it to 1 to get extra debug information -debug = 0 - -####################################################################### -# -# check to make sure environment is setup -# -if not os.environ.has_key('ANT_HOME'): - print '\n\nANT_HOME *MUST* be set!\n\n' - sys.exit(1) -else: - ANT_HOME = os.environ['ANT_HOME'] - -if not os.environ.has_key('JAVACMD'): - JAVACMD = 'java' -else: - JAVACMD = os.environ['JAVACMD'] - -# Sets the separator char for CLASSPATH -SEPARATOR = ':' -if os.name == 'dos' or os.name == 'nt': - SEPARATOR = ';' - -# Build up standard classpath -localpath = '' -if os.environ.has_key('CLASSPATH'): - localpath = os.environ['CLASSPATH'] -else: - if debug: - print 'Warning: no initial classpath\n' - -# Add jar files -LIBDIR = os.path.join(ANT_HOME, 'lib') -jarfiles = [] -for file in os.listdir(LIBDIR): - if file[-4:] == '.jar': - jarfiles.append(os.path.join(LIBDIR,file)) -if debug: - print 'Jar files:' - for jar in jarfiles: - print jar -localpath = localpath + SEPARATOR + string.join(jarfiles, SEPARATOR) - -# If JAVA_HOME is defined, look for tools.jar & classes.zip -# and add to classpath -if os.environ.has_key('JAVA_HOME') and os.environ['JAVA_HOME'] != '': - JAVA_HOME = os.environ['JAVA_HOME'] - TOOLS = os.path.join(JAVA_HOME, os.path.join('lib', 'tools.jar')) - if os.path.exists(TOOLS): - localpath = localpath + SEPARATOR + TOOLS - CLASSES = os.path.join(JAVA_HOME, os.path.join('lib', 'classes.zip')) - if os.path.exists(CLASSES): - localpath = localpath + SEPARATOR + CLASSES -else: - print '\n\nWarning: JAVA_HOME environment variable is not set.\n', \ - 'If the build fails because sun.* classes could not be found\n', \ - 'you will need to set the JAVA_HOME environment variable\n', \ - 'to the installation directory of java\n' - -# Jikes -ANT_OPTS = [] -if os.environ.has_key('ANT_OPTS'): - ANT_OPTS = string.split(os.environ['ANT_OPTS']) -if os.environ.has_key('JIKESPATH'): - ANT_OPTS.append('-Djikes.class.path=' + os.environ['JIKESPATH']) - -# Builds the commandline -cmdline = '%s -classpath %s -Dant.home=%s %s org.apache.tools.ant.Main %s' \ - % (JAVACMD, localpath, ANT_HOME, string.join(ANT_OPTS,' '), \ - string.join(sys.argv[1:], ' ')) - -if debug: - print '\n%s\n\n' % (cmdline) - -# Run the biniou! -os.system(cmdline) +#!/usr/bin/python +# Copyright 2001,2003-2004 The Apache Software Foundation +# +# Licensed 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. +# + +""" + + runant.py + + This script is a translation of the runant.pl written by Steve Loughran. + It runs ant with/out arguments, it should be quite portable (thanks to + the python os library) + This script has been tested with Python2.0/Win2K + + created: 2001-04-11 + author: Pierre Dittgen pierre.dittgen@criltelecom.com + + Assumptions: + + - the "java" executable/script is on the command path +""" +import os, os.path, string, sys + +# Change it to 1 to get extra debug information +debug = 0 + +####################################################################### + +# If ANT_HOME is not set default to script's parent directory +if os.environ.has_key('ANT_HOME'): + ANT_HOME = os.environ['ANT_HOME'] +else: + ANT_HOME = os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0]))) + +# set ANT_LIB location +ANT_LIB = os.path.join(ANT_HOME, 'lib') + +# set JAVACMD (check variables JAVACMD and JAVA_HOME) +JAVACMD = None +if not os.environ.has_key('JAVACMD'): + if os.environ.has_key('JAVA_HOME'): + if not os.path.exists(os.environ['JAVA_HOME']): + print "Warning: JAVA_HOME is not defined correctly." + else: + JAVACMD = os.path.join(os.environ['JAVA_HOME'], 'bin', 'java') + else: + print "Warning: JAVA_HOME not set." +else: + JAVACMD = os.environ['JAVACMD'] +if not JAVACMD: + JAVACMD = 'java' + +launcher_jar = os.path.join(ANT_LIB, 'ant-launcher.jar') +if not os.path.exists(launcher_jar): + print 'Unable to locate ant-launcher.jar. Expected to find it in %s' % \ + ANT_LIB + +# Build up standard classpath (LOCALCLASSPATH) +LOCALCLASSPATH = launcher_jar +if os.environ.has_key('LOCALCLASSPATH'): + LOCALCLASSPATH += os.pathsep + os.environ['LOCALCLASSPATH'] + +ANT_OPTS = "" +if os.environ.has_key('ANT_OPTS'): + ANT_OPTS = os.environ['ANT_OPTS'] + +OPTS = "" +if os.environ.has_key('JIKESPATH'): + OPTS = '-Djikes.class.path=\"%s\"' % os.environ['JIKESPATH'] + +ANT_ARGS = "" +if os.environ.has_key('ANT_ARGS'): + ANT_ARGS = os.environ['ANT_ARGS'] + +CLASSPATH = "" +if os.environ.has_key('CLASSPATH'): + CLASSPATH = os.environ['CLASSPATH'] + +# Builds the commandline +cmdline = ('%s %s -classpath %s -Dant.home=%s %s ' + \ + 'org.apache.tools.ant.launch.Launcher %s -lib %s %s') \ + % (JAVACMD, ANT_OPTS, LOCALCLASSPATH, ANT_HOME, OPTS, ANT_ARGS, \ + CLASSPATH, string.join(sys.argv[1:], ' ')) + +if debug: + print '\n%s\n\n' % (cmdline) + +# Run the biniou! +os.system(cmdline) diff --git a/lib/ant/lib/optional.jar b/lib/ant/lib/optional.jar deleted file mode 100644 index 1128e1d97..000000000 Binary files a/lib/ant/lib/optional.jar and /dev/null differ diff --git a/lib/ant/lib/xalan.jar b/lib/ant/lib/xalan.jar deleted file mode 100644 index 3681818e1..000000000 Binary files a/lib/ant/lib/xalan.jar and /dev/null differ