[jboss-cvs] CacheBenchFwk/apache-ant-1.7.0/bin ...

Manik Surtani manik at jboss.org
Mon May 21 12:44:46 EDT 2007


  User: msurtani
  Date: 07/05/21 12:44:46

  Added:       apache-ant-1.7.0/bin              complete-ant-cmd.pl
                        runant.pl envset.cmd antenv.cmd antRun ant.bat
                        ant.cmd antRun.pl antRun.bat runrc.cmd lcp.bat
                        runant.py ant
  Log:
  Added Ant 1.7.0 bins
  
  Revision  Changes    Path
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/complete-ant-cmd.pl
  
  Index: 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 <mikew at 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;
  
  }
  
  
  
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/runant.pl
  
  Index: 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 steve_l at 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=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;
          }
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/envset.cmd
  
  Index: 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
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/antenv.cmd
  
  Index: 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
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/antRun
  
  Index: 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" "$@"
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/ant.bat
  
  Index: 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
  
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/ant.cmd
  
  Index: 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
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/antRun.pl
  
  Index: 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 jtulley at 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 .= "/". at 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;
  }
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/antRun.bat
  
  Index: 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
  
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/runrc.cmd
  
  Index: 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
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/lcp.bat
  
  Index: 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%
  
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/runant.py
  
  Index: 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 pierre.dittgen at criltelecom.com
  
   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)
  
  
  
  1.1      date: 2007/05/21 16:44:46;  author: msurtani;  state: Exp;CacheBenchFwk/apache-ant-1.7.0/bin/ant
  
  Index: 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
  
  
  



More information about the jboss-cvs-commits mailing list