aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/ant/bin/ant192
-rw-r--r--lib/ant/bin/ant.bat98
-rw-r--r--lib/ant/bin/antRun12
-rw-r--r--lib/ant/bin/antRun.bat31
-rw-r--r--lib/ant/bin/antRun.pl51
-rw-r--r--lib/ant/bin/complete-ant-cmd.pl102
-rw-r--r--lib/ant/bin/lcp.bat16
-rw-r--r--lib/ant/bin/runant.pl162
-rw-r--r--lib/ant/bin/runant.py99
9 files changed, 763 insertions, 0 deletions
diff --git a/lib/ant/bin/ant b/lib/ant/bin/ant
new file mode 100644
index 000000000..ee0ae5603
--- /dev/null
+++ b/lib/ant/bin/ant
@@ -0,0 +1,192 @@
+#! /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
+
+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
+
+# 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
+ "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Dcygwin.user.home="$CYGHOME" $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
+ "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@"
+ fi
+fi
+
diff --git a/lib/ant/bin/ant.bat b/lib/ant/bin/ant.bat
new file mode 100644
index 000000000..34974fbd2
--- /dev/null
+++ b/lib/ant/bin/ant.bat
@@ -0,0 +1,98 @@
+rem XXX @echo off
+
+REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights
+REM reserved.
+
+if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
+
+if "%OS%"=="Windows_NT" @setlocal
+
+rem %~dp0 is expanded pathname of the current script under NT
+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
+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
+rem and for NT handling to skip to.
+rem :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
+
+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
+goto checkJava
+
+:checkSystemDrive
+rem check for ant in root directory of system drive
+if not exist %SystemDrive%\ant\nul 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
+set ANT_HOME=C:\ant
+goto checkJava
+
+:noAntHome
+echo ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
+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
+
+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"
+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.
+
+:checkJikes
+if not "%JIKESPATH%"=="" goto runAntWithJikes
+
+:runAnt
+"%_JAVACMD%" -classpath "%LOCALCLASSPATH%" "-Dant.home=%ANT_HOME%" %ANT_OPTS% org.apache.tools.ant.Main %*
+goto end
+
+:runAntWithJikes
+"%_JAVACMD%" -classpath "%LOCALCLASSPATH%" "-Dant.home=%ANT_HOME%" "-Djikes.class.path=%JIKESPATH%" %ANT_OPTS% org.apache.tools.ant.Main %*
+goto end
+
+:end
+set LOCALCLASSPATH=
+set _JAVACMD=
+set ANT_CMD_LINE_ARGS=
+
+if "%OS%"=="Windows_NT" @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
new file mode 100644
index 000000000..cba56f16d
--- /dev/null
+++ b/lib/ant/bin/antRun
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
+# reserved.
+
+# 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
new file mode 100644
index 000000000..e8125f660
--- /dev/null
+++ b/lib/ant/bin/antRun.bat
@@ -0,0 +1,31 @@
+@echo off
+
+REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights
+REM reserved.
+
+if "%OS%"=="Windows_NT" @setlocal
+
+if ""%1""=="""" goto runCommand
+
+rem Change drive and directory to %1
+if "%OS%"=="Windows_NT" cd /d ""%1""
+if not "%OS%"=="Windows_NT" cd ""%1""
+shift
+
+rem Slurp the command line arguments. This loop allows for an unlimited number
+rem of agruments (up to the command line limit, anyway).
+set ANT_RUN_CMD=%1
+if ""%1""=="""" goto runCommand
+shift
+:loop
+if ""%1""=="""" goto runCommand
+set ANT_RUN_CMD=%ANT_RUN_CMD% %1
+shift
+goto loop
+
+:runCommand
+rem echo %ANT_RUN_CMD%
+%ANT_RUN_CMD%
+
+if "%OS%"=="Windows_NT" @endlocal
+
diff --git a/lib/ant/bin/antRun.pl b/lib/ant/bin/antRun.pl
new file mode 100644
index 000000000..1851b50ce
--- /dev/null
+++ b/lib/ant/bin/antRun.pl
@@ -0,0 +1,51 @@
+#!/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;
+}
diff --git a/lib/ant/bin/complete-ant-cmd.pl b/lib/ant/bin/complete-ant-cmd.pl
new file mode 100644
index 000000000..58d7b2367
--- /dev/null
+++ b/lib/ant/bin/complete-ant-cmd.pl
@@ -0,0 +1,102 @@
+#!/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 <mikew@cortexebusiness.com.au>
+
+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( <HELP> ) {
+ 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 (<CACHE>) {
+ chop;
+ s/\r$//; # for Cygwin
+ push( @targets, $_ );
+ }
+ close( CACHE );
+ @targets;
+
+}
+
+
+
diff --git a/lib/ant/bin/lcp.bat b/lib/ant/bin/lcp.bat
new file mode 100644
index 000000000..9b1a9b5a0
--- /dev/null
+++ b/lib/ant/bin/lcp.bat
@@ -0,0 +1,16 @@
+REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights
+REM reserved.
+
+set _CLASSPATHCOMPONENT=%1
+if ""%1""=="""" goto gotAllArgs
+shift
+
+:argCheck
+if ""%1""=="""" goto gotAllArgs
+set _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1
+shift
+goto argCheck
+
+:gotAllArgs
+set LOCALCLASSPATH=%_CLASSPATHCOMPONENT%;%LOCALCLASSPATH%
+
diff --git a/lib/ant/bin/runant.pl b/lib/ant/bin/runant.pl
new file mode 100644
index 000000000..a8c0c08cf
--- /dev/null
+++ b/lib/ant/bin/runant.pl
@@ -0,0 +1,162 @@
+#!/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;
+ }
diff --git a/lib/ant/bin/runant.py b/lib/ant/bin/runant.py
new file mode 100644
index 000000000..f014fa6d9
--- /dev/null
+++ b/lib/ant/bin/runant.py
@@ -0,0 +1,99 @@
+#!/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)