mirror of https://github.com/apache/lucene.git
100 lines
2.7 KiB
Python
100 lines
2.7 KiB
Python
|
#!/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)
|