From: Xuan B. <med...@us...> - 2008-01-25 19:21:14
|
Update of /cvsroot/tm4j/tm4j/lib/ant/apache-ant-1.7.0/bin In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12860/lib/ant/apache-ant-1.7.0/bin Added Files: ant ant.bat ant.cmd antRun antRun.bat antRun.pl antenv.cmd complete-ant-cmd.pl envset.cmd lcp.bat runant.pl runant.py runrc.cmd Log Message: Update 4 years old ant. --- NEW FILE: antRun.bat --- @echo off REM Licensed to the Apache Software Foundation (ASF) under one or more REM contributor license agreements. See the NOTICE file distributed with REM this work for additional information regarding copyright ownership. REM The ASF licenses this file to You under the Apache License, Version 2.0 REM (the "License"); you may not use this file except in compliance with REM the License. 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 "%OS%"=="Windows_NT" @setlocal if "%OS%"=="WINNT" @setlocal if ""%1""=="""" goto runCommand rem Change drive and directory to %1 if "%OS%"=="Windows_NT" goto nt_cd if "%OS%"=="WINNT" goto nt_cd cd ""%1"" goto end_cd :nt_cd cd /d ""%1"" :end_cd shift rem Slurp the command line arguments. This loop allows for an unlimited number rem of arguments (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 if "%OS%"=="WINNT" @endlocal --- NEW FILE: runrc.cmd --- /* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You 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. Run RC file, name is in the first arg, second arg is either PATH ENV or -r or nothing */ parse arg name path rest if name = '' then do say 'RC file name is missing' exit 1 end if rest \= '' then do say 'Too many parameters' exit 1 end call runit name path exit 0 runit: procedure parse arg name path dir if path \= '' & path \= '-r' then do dir = value(translate(path),,'OS2ENVIRONMENT') if dir = '' then return dir = translate(dir, '\', '/') /* change UNIX-like path to OS/2 */ end if dir = '' then dir = directory() if path = '-r' then do /* recursive call */ subdir = filespec('path', dir) if subdir \= '\' then do subdir = left(subdir, length(subdir)-1) call runit name path filespec('drive', dir) || subdir end end /* Look for the file and run it */ if right(dir, 1) \= '\' then dir = dir || '\' rcfile = stream(dir || name, 'c', 'query exists') if rcfile \= '' then interpret 'call "' || rcfile || '"' return --- NEW FILE: runant.py --- #!/usr/bin/python # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 pie...@cr... 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) sys.stdout.flush() # Run the biniou! os.system(cmdline) --- NEW FILE: antRun.pl --- #!/usr/bin/perl # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 jt...@no... ####################################################################### #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; } --- NEW FILE: envset.cmd --- /* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You 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. SET environment variables First optional parameter: ; parameters are considered parts of a path variable, semicolons are appended to each element if not already present -D parameters are properties for Java or Makefile etc., -D will be prepended and the parameters will be separated by a space =D the same as above but equal sign is not required , parameters should be comma separated in the environment variable - parameters should be separated by the next parameter Other values mean that the first parameter is missing and the environment variable will be set to the space separated parameters Second parameter: name of the environment variable Next parameters: values ; implies that the equal sign is considered a part of the parameter and is not interpreted -D requires parameters in the form name=value. If the equal sign is not found, the parameters are changed to name=expanded_name Other options have optional equal sign. If it is found, only the part after the equal sign will be oprionally expanded. If the parameter is the minus sign, the next parameter will not be expanded. If the parameter is a single dot, it will be replaced with the value of the environment variable as it existed before envset was invoked. For other parameters the batch looks for the environment variable with the same name (in uppercase). If it is found, it forms the expanded_name. If the environment variable with such a name does not exist, the expanded_name will hold the parameter name without case conversion. */ parse arg mode envar args equal = 0 sep = ' ' /* Parse command line parameters */ select when mode='-' then do sep = envar parse var args envar args end when mode=';' then do sep = '' equal = -1 end when mode='-D' then equal = 1 when mode='=D' then mode = '-D' when mode=',' then sep = ',' otherwise args = envar args envar = mode mode = '' end env = 'OS2ENVIRONMENT' envar = translate(envar) orig = value(envar,,env) newval = '' expand = 1 /* for each parameter... */ do i = 1 to words(args) if expand > 0 & word(args, i) = '-' then expand = 0 else call addval word(args, i) end /* Optionally enclose path variable by quotes */ if mode = ';' & pos(' ', newval) > 0 then newval = '"' || newval || '"' /* Set the new value, 'SET' cannot be used since it does not allow '=' */ x = value(envar, newval, env) exit 0 addval: procedure expose sep equal orig expand newval mode env parse arg var if var = '.' then expvar = orig else do if equal >= 0 then do parse var var name '=' val if val = '' then var = name else var = val end if expand = 0 then expvar = var else expvar = value(translate(var),,env) if expvar = '' then expvar = var if equal >= 0 then do if val = '' then do parse var expvar key '=' val if val <> '' then name = key else do if equal > 0 then val = key else name = key end end else val = expvar if pos(' ', val) > 0 | pos('=', val) > 0 then val = '"' || val || '"' if val = '' then expvar = name else expvar = name || '=' || val end if mode = '-D' then expvar = '-D' || expvar if mode = ';' then do if right(expvar, 1) <> ';' then expvar = expvar || ';' end end if newval = '' then newval = expvar else newval = newval || sep || expvar expand = 1 return --- NEW FILE: ant --- #! /bin/sh # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 (ONLY if ANT_HOME has NOT been set) if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then if [ -f "/etc/ant.conf" ] ; then . /etc/ant.conf fi 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 # IBM's JDK on AIX uses strange locations for the executables if [ -x "$JAVA_HOME/jre/sh/java" ] ; then JAVACMD="$JAVA_HOME/jre/sh/java" elif [ -x "$JAVA_HOME/jre/bin/java" ] ; then JAVACMD="$JAVA_HOME/jre/bin/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/lib will also be included, 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 && [ -x /usr/bin/build-classpath ] ; then LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)" # If no optional jars have been specified then build the default list if [ -z "$OPT_JAR_LIST" ] ; then for file in /etc/ant.d/*; do if [ -f "$file" ]; then case "$file" in *~) ;; *#*) ;; *.rpmsave) ;; *.rpmnew) ;; *) for dep in `cat "$file"`; do case "$OPT_JAR_LIST" in *"$dep"*) ;; *) OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep" esac done esac fi done fi # 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 --- NEW FILE: antenv.cmd --- /* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You 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. */ '@echo off' call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs" call SysLoadFuncs /* Prepare the parameters for later use */ parse arg argv mode = '' args = '' opts = '' cp = '' lcp = '' do i = 1 to words(argv) param = word(argv, i) select when param='-lcp' then mode = 'l' when param='-cp' | param='-classpath' then mode = 'c' when abbrev('-opts', param, 4) then mode = 'o' when abbrev('-args', param, 4) then mode = 'a' otherwise select when mode = 'a' then args = space(args param, 1) when mode = 'c' then cp = space(cp param, 1) when mode = 'l' then lcp = space(lcp param, 1) when mode = 'o' then opts = space(opts param, 1) otherwise say 'Option' param 'ignored' end end end env="OS2ENVIRONMENT" antconf = _getenv_('antconf' 'antconf.cmd') runrc = _getenv_('runrc') interpret 'call "' || runrc || '"' '"' || antconf || '"' 'ETC' ANT_HOME = value('ANT_HOME',,env) JAVA_HOME = value('JAVA_HOME',,env) classpath = value('CLASSPATH',,env) classes = stream(JAVA_HOME || "\lib\classes.zip", "C", "QUERY EXISTS") if classes \= '' then classpath = prepend(classpath classes) classes = stream(JAVA_HOME || "\lib\tools.jar", "C", "QUERY EXISTS") if classes \= '' then classpath = prepend(classpath classes) classpath = prepend(classpath ANT_HOME || '\lib\ant-launcher.jar') 'SET CLASSPATH=' || classpath /* Setting classpathes, options and arguments */ envset = _getenv_('envset') if cp\='' then interpret 'call "' || envset || '"' '"; CLASSPATH"' '"' || cp || '"' if lcp\='' then interpret 'call "' || envset || '"' '"; LOCALCLASSPATH"' '"' || lcp || '"' if opts\='' then interpret 'call "' || envset || '"' '"-D ANT_OPTS"' '"' || opts || '"' if args\='' then interpret 'call "' || envset || '"' '"ANT_ARGS"' '"' || args || '"' exit 0 addpath: procedure parse arg path elem if elem = '' then do if path\='' & right(path, 1)\=';' then path = path || ';' return path end if substr(path, length(path)) = ';' then glue = '' else glue = ';' if pos(translate(elem), translate(path)) = 0 then path = path || glue || elem || ';' return path prepend: procedure parse arg path elem if elem = '' then do if path\='' & right(path, 1)\=';' then path = path || ';' return path end if pos(translate(elem), translate(path)) = 0 then path = elem || ';' || path return path _getenv_: procedure expose env parse arg envar default if default = '' then default = envar var = value(translate(envar),,env) if var = '' then var = default return var --- NEW FILE: lcp.bat --- REM REM Licensed to the Apache Software Foundation (ASF) under one or more REM contributor license agreements. See the NOTICE file distributed with REM this work for additional information regarding copyright ownership. REM The ASF licenses this file to You under the Apache License, Version 2.0 REM (the "License"); you may not use this file except in compliance with REM the License. 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 shift :argCheck if ""%1""=="""" goto gotAllArgs set _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1 shift goto argCheck :gotAllArgs set LOCALCLASSPATH=%LOCALCLASSPATH%;%_CLASSPATHCOMPONENT% --- NEW FILE: antRun --- #! /bin/sh # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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" "$@" --- NEW FILE: ant.bat --- @echo off REM Licensed to the Apache Software Foundation (ASF) under one or more REM contributor license agreements. See the NOTICE file distributed with REM this work for additional information regarding copyright ownership. REM The ASF licenses this file to You under the Apache License, Version 2.0 REM (the "License"); you may not use this file except in compliance with REM the License. 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 This is an inordinately troublesome piece of code, particularly because it REM tries to work on both Win9x and WinNT-based systems. If we could abandon '9x REM support, things would be much easier, but sadly, it is not yet time. REM Be cautious about editing this, and only add WinNT specific stuff in code that REM only runs on WinNT. if "%HOME%"=="" goto homeDrivePathPre if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat" :homeDrivePathPre if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePre if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePre if exist "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_pre.bat" :userProfilePre if "%USERPROFILE%"=="" goto alpha if "%USERPROFILE%"=="%HOME%" goto alpha if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto alpha if exist "%USERPROFILE%\antrc_pre.bat" call "%USERPROFILE%\antrc_pre.bat" :alpha if "%OS%"=="Windows_NT" @setlocal if "%OS%"=="WINNT" @setlocal if "%ANT_HOME%"=="" goto setDefaultAntHome :stripAntHome if not _%ANT_HOME:~-1%==_\ goto checkClasspath set ANT_HOME=%ANT_HOME:~0,-1% goto stripAntHome :setDefaultAntHome rem %~dp0 is expanded pathname of the current script under NT set ANT_HOME=%~dp0.. :checkClasspath set _USE_CLASSPATH=yes rem CLASSPATH must not be used if it is equal to "" if "%CLASSPATH%"=="""" set _USE_CLASSPATH=no if "%CLASSPATH%"=="" set _USE_CLASSPATH=no rem Slurp the command line arguments. This loop allows for an unlimited number rem of arguments (up to the command line limit, anyway). 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. :doneStart if _USE_CLASSPATH==no goto findAntHome :stripClasspath if not _%CLASSPATH:~-1%==_\ goto findAntHome set CLASSPATH=%CLASSPATH:~0,-1% goto stripClasspath :findAntHome 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%\lib\ant.jar" goto checkJava 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\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\lib\ant.jar 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 _JAVACMD=%JAVACMD% if "%JAVA_HOME%" == "" goto noJavaHome if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe goto checkJikes :noJavaHome if "%_JAVACMD%" == "" set _JAVACMD=java.exe :checkJikes if not "%JIKESPATH%"=="" goto runAntWithJikes :runAnt if "%_USE_CLASSPATH%"=="no" goto runAntNoClasspath :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% rem Check the error code of the Ant build if not "%OS%"=="Windows_NT" goto onError set ANT_ERROR=%ERRORLEVEL% 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% rem Check the error code of the Ant build if not "%OS%"=="Windows_NT" goto onError set ANT_ERROR=%ERRORLEVEL% goto end :runAntWithJikes if not _%JIKESPATH:~-1%==_\ goto checkJikesAndClasspath set JIKESPATH=%JIKESPATH:~0,-1% goto runAntWithJikes :checkJikesAndClasspath if "%_USE_CLASSPATH%"=="no" goto runAntWithJikesNoClasspath :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% rem Check the error code of the Ant build if not "%OS%"=="Windows_NT" goto onError set ANT_ERROR=%ERRORLEVEL% goto end :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% rem Check the error code of the Ant build if not "%OS%"=="Windows_NT" goto onError set ANT_ERROR=%ERRORLEVEL% goto end :onError rem Windows 9x way of checking the error code. It matches via brute force. for %%i in (1 10 100) do set err%%i= for %%i in (0 1 2) do if errorlevel %%i00 set err100=%%i if %err100%==2 goto onError200 if %err100%==0 set err100= for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%%i0 set err10=%%i if "%err100%"=="" if %err10%==0 set err10= :onError1 for %%i in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %err100%%err10%%%i set err1=%%i goto onErrorEnd :onError200 for %%i in (0 1 2 3 4 5) do if errorlevel 2%%i0 set err10=%%i if err10==5 for %%i in (0 1 2 3 4 5) do if errorlevel 25%%i set err1=%%i if not err10==5 goto onError1 :onErrorEnd set ANT_ERROR=%err100%%err10%%err1% for %%i in (1 10 100) do set err%%i= :end rem bug ID 32069: resetting an undefined env variable changes the errorlevel. if not "%_JAVACMD%"=="" set _JAVACMD= if not "%_ANT_CMD_LINE_ARGS%"=="" set ANT_CMD_LINE_ARGS= if "%ANT_ERROR%"=="0" goto mainEnd rem Set the return code if we are not in NT. We can only set rem a value of 1, but it's better than nothing. if not "%OS%"=="Windows_NT" echo 1 > nul | choice /n /c:1 rem Set the ERRORLEVEL if we are running NT. if "%OS%"=="Windows_NT" color 00 goto omega :mainEnd rem If there were no errors, we run the post script. if "%OS%"=="Windows_NT" @endlocal if "%OS%"=="WINNT" @endlocal if "%HOME%"=="" goto homeDrivePathPost if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat" :homeDrivePathPost if "%HOMEDRIVE%%HOMEPATH%"=="" goto userProfilePost if "%HOMEDRIVE%%HOMEPATH%"=="%HOME%" goto userProfilePost if exist "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat" call "%HOMEDRIVE%%HOMEPATH%\antrc_post.bat" :userProfilePost if "%USERPROFILE%"=="" goto omega if "%USERPROFILE%"=="%HOME%" goto omega if "%USERPROFILE%"=="%HOMEDRIVE%%HOMEPATH%" goto omega if exist "%USERPROFILE%\antrc_post.bat" call "%USERPROFILE%\antrc_post.bat" :omega --- NEW FILE: runant.pl --- #!/usr/bin/perl # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 st...@so... ####################################################################### # # 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; } --- NEW FILE: ant.cmd --- /* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You 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. Run ant */ '@echo off' parse arg mode envarg '::' antarg if mode\='.' & mode\='..' & mode\='/' then do envarg = mode envarg mode = '' end if antarg = '' then do antarg = envarg envarg = '' end x = setlocal() env="OS2ENVIRONMENT" antenv = _getenv_('antenv') if _testenv_() = 0 then interpret 'call "' || antenv || '"' '"' || envarg || '"' if mode = '' then mode = _getenv_('ANT_MODE' '..') if mode \= '/' then do runrc = _getenv_('runrc') antrc = _getenv_('antrc' 'antrc.cmd') if mode = '..' then mode = '-r' else mode = '' interpret 'call "' || runrc || '"' antrc '"' || mode || '"' end if _testenv_() = 0 then do say 'Ant environment is not set properly' x = endlocal() exit 16 end settings = '-Dant.home=' || ANT_HOME '-Djava.home=' || JAVA_HOME java = _getenv_('javacmd' 'java') opts = value('ANT_OPTS',,env) args = value('ANT_ARGS',,env) lcp = value('LOCALCLASSPATH',,env) cp = value('CLASSPATH',,env) if value('ANT_USE_CP',,env) \= '' then do if lcp \= '' & right(lcp, 1) \= ';' then lcp = lcp || ';' lcp = lcp || cp 'SET CLASSPATH=' end if lcp\='' then lcp = '-classpath' lcp cmd = java opts lcp '-jar' ANT_HOME ||'\lib\ant-launcher.jar' settings args antarg launcher = stream(ANT_HOME ||'\lib\ant-launcher.jar', 'C', 'query exists') if launcher = '' then entry = 'org.apache.tools.ant.Main' else entry = 'org.apache.tools.ant.launch.Launcher' java opts lcp entry settings args antarg x = endlocal() return rc _testenv_: procedure expose env ANT_HOME JAVA_HOME ANT_HOME = value('ANT_HOME',,env) if ANT_HOME = '' then return 0 JAVA_HOME = value('JAVA_HOME',,env) if JAVA_HOME = '' then return 0 cp = translate(value('CLASSPATH',,env)) if pos(translate(ANT_HOME), cp) = 0 then return 0 if pos(translate(JAVA_HOME), cp) = 0 then return 0 return 1 _getenv_: procedure expose env parse arg envar default if default = '' then default = envar var = value(translate(envar),,env) if var = '' then var = default return var --- NEW FILE: complete-ant-cmd.pl --- #!/usr/bin/perl # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 <mi...@co...> 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; } |