carbidecpp20devenv/plugins/org.apache.ant_1.7.0.v200803061910/bin/runant.py
author cawthron
Wed, 18 Mar 2009 17:21:00 -0500
changeset 1 82d1d1de1a01
permissions -rw-r--r--
import Carbide.c++
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     1
#!/usr/bin/python
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     2
# Copyright 2001,2003-2004 The Apache Software Foundation
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     3
#
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     4
#  Licensed under the Apache License, Version 2.0 (the "License");
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     5
#  you may not use this file except in compliance with the License.
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     6
#  You may obtain a copy of the License at
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     7
#
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     8
#      http://www.apache.org/licenses/LICENSE-2.0
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
     9
#
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    10
#  Unless required by applicable law or agreed to in writing, software
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    11
#  distributed under the License is distributed on an "AS IS" BASIS,
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    12
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    13
#  See the License for the specific language governing permissions and
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    14
#  limitations under the License.
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    15
#
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    16
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    17
"""
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    18
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    19
 runant.py
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    20
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    21
    This script is a translation of the runant.pl written by Steve Loughran.
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    22
    It runs ant with/out arguments, it should be quite portable (thanks to
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    23
    the python os library)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    24
    This script has been tested with Python2.0/Win2K
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    25
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    26
 created:         2001-04-11
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    27
 author:          Pierre Dittgen pierre.dittgen@criltelecom.com
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    28
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    29
 Assumptions:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    30
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    31
 - the "java" executable/script is on the command path
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    32
"""
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    33
import os, os.path, string, sys
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    34
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    35
# Change it to 1 to get extra debug information
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    36
debug = 0
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    37
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    38
#######################################################################
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    39
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    40
# If ANT_HOME is not set default to script's parent directory
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    41
if os.environ.has_key('ANT_HOME'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    42
    ANT_HOME = os.environ['ANT_HOME']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    43
else:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    44
    ANT_HOME = os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0])))
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    45
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    46
# set ANT_LIB location
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    47
ANT_LIB = os.path.join(ANT_HOME, 'lib')
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    48
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    49
# set JAVACMD (check variables JAVACMD and JAVA_HOME)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    50
JAVACMD = None
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    51
if not os.environ.has_key('JAVACMD'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    52
    if os.environ.has_key('JAVA_HOME'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    53
        if not os.path.exists(os.environ['JAVA_HOME']):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    54
            print "Warning: JAVA_HOME is not defined correctly."
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    55
        else:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    56
            JAVACMD = os.path.join(os.environ['JAVA_HOME'], 'bin', 'java')
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    57
    else:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    58
        print "Warning: JAVA_HOME not set."
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    59
else:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    60
    JAVACMD = os.environ['JAVACMD']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    61
if not JAVACMD:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    62
    JAVACMD = 'java'
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    63
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    64
launcher_jar = os.path.join(ANT_LIB, 'ant-launcher.jar')
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    65
if not os.path.exists(launcher_jar):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    66
    print 'Unable to locate ant-launcher.jar. Expected to find it in %s' % \
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    67
        ANT_LIB
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    68
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    69
# Build up standard classpath (LOCALCLASSPATH)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    70
LOCALCLASSPATH = launcher_jar
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    71
if os.environ.has_key('LOCALCLASSPATH'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    72
    LOCALCLASSPATH += os.pathsep + os.environ['LOCALCLASSPATH']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    73
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    74
ANT_OPTS = ""
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    75
if os.environ.has_key('ANT_OPTS'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    76
    ANT_OPTS = os.environ['ANT_OPTS']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    77
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    78
OPTS = ""
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    79
if os.environ.has_key('JIKESPATH'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    80
    OPTS = '-Djikes.class.path=\"%s\"' % os.environ['JIKESPATH']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    81
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    82
ANT_ARGS = ""
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    83
if os.environ.has_key('ANT_ARGS'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    84
    ANT_ARGS = os.environ['ANT_ARGS']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    85
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    86
CLASSPATH = ""
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    87
if os.environ.has_key('CLASSPATH'):
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    88
    CLASSPATH = os.environ['CLASSPATH']
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    89
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    90
# Builds the commandline
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    91
cmdline = ('%s %s -classpath %s -Dant.home=%s %s ' + \
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    92
    'org.apache.tools.ant.launch.Launcher %s -lib %s %s') \
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    93
     % (JAVACMD, ANT_OPTS, LOCALCLASSPATH, ANT_HOME, OPTS, ANT_ARGS, \
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    94
        CLASSPATH, string.join(sys.argv[1:], ' '))
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    95
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    96
if debug:
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    97
    print '\n%s\n\n' % (cmdline)
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    98
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
    99
# Run the biniou!
82d1d1de1a01 import Carbide.c++
cawthron
parents:
diff changeset
   100
os.system(cmdline)