summaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorAntoine Levy-Lambert <antoine@apache.org>2003-08-22 14:08:24 +0000
committerAntoine Levy-Lambert <antoine@apache.org>2003-08-22 14:08:24 +0000
commitd85bd5cccf0e11878e7d17dc0db6b36a1e8faa5a (patch)
tree3069e0f4d965f1fd96028404c2b3b37b5f5d6c12 /src/script
parentd61c41640d8da8db162c892b39003159e0eab05e (diff)
downloadant-d85bd5cccf0e11878e7d17dc0db6b36a1e8faa5a.tar.gz
make the script to start ant from python use the new launcher
Submitted by: Knut Wannheden (knut dot wannheden at paranor dot ch) git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275131 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/script')
-rw-r--r--src/script/runant.py84
1 files changed, 32 insertions, 52 deletions
diff --git a/src/script/runant.py b/src/script/runant.py
index 45150fde8..b34f4defe 100644
--- a/src/script/runant.py
+++ b/src/script/runant.py
@@ -3,10 +3,10 @@
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
+ 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.
@@ -28,72 +28,52 @@ 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)
+if os.environ.has_key('ANT_HOME'):
+ ANT_HOME = os.environ['ANT_HOME']
else:
- ANT_HOME = os.environ['ANT_HOME']
+ ANT_HOME = os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0])))
+
+# Add jar files
+ANT_LIB = os.path.join(ANT_HOME, 'lib')
if not os.environ.has_key('JAVACMD'):
- JAVACMD = 'java'
+ JAVACMD = 'java'
else:
- JAVACMD = os.environ['JAVACMD']
-
-# Sets the separator char for CLASSPATH
-SEPARATOR = ':'
-if os.name == 'dos' or os.name == 'nt':
- SEPARATOR = ';'
+ JAVACMD = os.environ['JAVACMD']
# Build up standard classpath
localpath = ''
if os.environ.has_key('CLASSPATH'):
- localpath = os.environ['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
+ if debug:
+ print 'Warning: no initial classpath\n'
+
+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
+if localpath:
+ localpath = launcher_jar + os.pathsep + localpath
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'
+ localpath = launcher_jar
-# Jikes
ANT_OPTS = []
if os.environ.has_key('ANT_OPTS'):
- ANT_OPTS = string.split(os.environ['ANT_OPTS'])
+ ANT_OPTS = string.split(os.environ['ANT_OPTS'])
+
+OPTS = []
if os.environ.has_key('JIKESPATH'):
- ANT_OPTS.append('-Djikes.class.path=' + os.environ['JIKESPATH'])
+ 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:], ' '))
+cmdline = ('%s %s -classpath %s -Dant.home=\"%s\" %s ' + \
+ 'org.apache.tools.ant.launch.Launcher %s') \
+ % (JAVACMD, string.join(ANT_OPTS,' '), localpath, ANT_HOME, \
+ string.join(OPTS,' '), string.join(sys.argv[1:], ' '))
if debug:
- print '\n%s\n\n' % (cmdline)
+ print '\n%s\n\n' % (cmdline)
# Run the biniou!
os.system(cmdline)