"Fossies" - the Fresh Open Source Software Archive

Member "UNICORE-Client-7.4.1/plugins/org.apache.ant_1.10.3.v20180417-1627/bin/runant.pl" (4 May 2018, 4166 Bytes) of package /windows/misc/UNICORE_Client-7.4.1-win32.win32.x86.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Perl source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/usr/bin/perl
    2 #
    3 # Licensed to the Apache Software Foundation (ASF) under one or more
    4 #  contributor license agreements.  See the NOTICE file distributed with
    5 #  this work for additional information regarding copyright ownership.
    6 #  The ASF licenses this file to You under the Apache License, Version 2.0
    7 #  (the "License"); you may not use this file except in compliance with
    8 #  the License.  You may obtain a copy of the License at
    9 #
   10 #      http://www.apache.org/licenses/LICENSE-2.0
   11 #
   12 #  Unless required by applicable law or agreed to in writing, software
   13 #  distributed under the License is distributed on an "AS IS" BASIS,
   14 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   15 #  See the License for the specific language governing permissions and
   16 #  limitations under the License.
   17 #
   18 #######################################################################
   19 #
   20 # runant.pl
   21 #
   22 # wrapper script for invoking ant in a platform with Perl installed
   23 # this may include cgi-bin invocation, which is considered somewhat daft.
   24 # (slo: that should be a separate file which can be derived from this
   25 # and returns the XML formatted output)
   26 #
   27 # the code is not totally portable due to classpath and directory splitting
   28 # issues. oops. (NB, use File::Spec::Functions  will help and the code is
   29 # structured for the catfile() call, but because of perl version funnies
   30 # the code is not included.
   31 #######################################################################
   32 #
   33 # Assumptions:
   34 #
   35 # - the "java" executable/script is on the command path
   36 # - ANT_HOME has been set
   37 # - target platform uses ":" as classpath separator or perl indicates it is dos/win32
   38 # - target platform uses "/" as directory separator.
   39 
   40 #be fussy about variables
   41 use strict;
   42 
   43 #platform specifics (disabled)
   44 #use File::Spec::Functions;
   45 
   46 #turn warnings on during dev; generates a few spurious uninitialised var access warnings
   47 #use warnings;
   48 
   49 #and set $debug to 1 to turn on trace info
   50 my $debug = 1;
   51 
   52 #######################################################################
   53 #
   54 # check to make sure environment is setup
   55 #
   56 
   57 my $HOME = $ENV{ANT_HOME};
   58 if (!$HOME) {
   59     die "\n\nANT_HOME *MUST* be set!\n\n";
   60 }
   61 
   62 my $JAVACMD = $ENV{JAVACMD} || "java";
   63 
   64 my $onnetware = ($^O eq "NetWare");
   65 
   66 my $oncygwin = ($^O eq "cygwin");
   67 
   68 #ISSUE: what java wants to split up classpath varies from platform to platform
   69 #and perl is not too hot at hinting which box it is on.
   70 #here I assume ":" 'cept on win32, dos, and netware. Add extra tests here as needed.
   71 my $s = ":";
   72 if (($^O eq "MSWin32") || ($^O eq "dos") || $oncygwin || $onnetware) {
   73     $s = ";";
   74 }
   75 
   76 #build up standard classpath
   77 my $localpath = "$HOME/lib/ant-launcher.jar";
   78 #set JVM options and Ant arguments, if any
   79 my @ANT_OPTS = split(" ", $ENV{ANT_OPTS});
   80 my @ANT_ARGS = split(" ", $ENV{ANT_ARGS});
   81 
   82 #jikes
   83 if ($ENV{JIKESPATH}) {
   84     push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
   85 }
   86 
   87 #construct arguments to java
   88 my @ARGS;
   89 push @ARGS, @ANT_OPTS;
   90 
   91 my $CYGHOME = "";
   92 
   93 my $classpath = $ENV{CLASSPATH};
   94 if ($oncygwin) {
   95     $localpath = `cygpath --path --windows $localpath`;
   96     chomp ($localpath);
   97     if ($classpath) {
   98         $classpath = `cygpath --path --windows "$classpath"`;
   99         chomp ($classpath);
  100     }
  101     $HOME = `cygpath --path --windows $HOME`;
  102     chomp ($HOME);
  103     $CYGHOME = `cygpath --path --windows $ENV{HOME}`;
  104     chomp ($CYGHOME);
  105 }
  106 push @ARGS, "-classpath", "$localpath";
  107 push @ARGS, "-Dant.home=$HOME";
  108 if ($CYGHOME) {
  109     push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\""
  110 }
  111 push @ARGS, "org.apache.tools.ant.launch.Launcher", @ANT_ARGS;
  112 push @ARGS, @ARGV;
  113 if ($classpath) {
  114     if ($onnetware) {
  115         # make classpath literally $CLASSPATH
  116         # this is to avoid pushing us over the 512 character limit
  117         # even skip the ; - that is already in $localpath
  118         push @ARGS, "-lib", "\$CLASSPATH";
  119     } else {
  120         push @ARGS, "-lib", "$classpath";
  121     }
  122 }
  123 print "\n $JAVACMD @ARGS\n\n" if ($debug);
  124 
  125 my $returnValue = system $JAVACMD, @ARGS;
  126 if ($returnValue eq 0) {
  127     exit 0;
  128 } else {
  129     # only 0 and 1 are widely recognized as exit values
  130     # so change the exit value to 1
  131     exit 1;
  132 }