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 # antRun.pl 21 # 22 # wrapper script for invoking commands on a platform with Perl installed 23 # this is akin to antRun.bat, and antRun the SH script 24 # 25 # created: 2001-10-18 26 # author: Jeff Tulley jtulley (at] novell.com 27 ####################################################################### 28 #be fussy about variables 29 use strict; 30 31 #turn warnings on during dev; generates a few spurious uninitialised var access warnings 32 #use warnings; 33 34 #and set $debug to 1 to turn on trace info (currently unused) 35 my $debug=1; 36 37 ####################################################################### 38 # change drive and directory to "%1" 39 my $ANT_RUN_CMD = @ARGV[0]; 40 41 # assign current run command to "%2" 42 chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n"; 43 if ($^O eq "NetWare") { 44 # There is a bug in Perl 5 on NetWare, where chdir does not 45 # do anything. On NetWare, the following path-prefixed form should 46 # always work. (afaict) 47 $ANT_RUN_CMD .= "/".@ARGV[1]; 48 } 49 else { 50 $ANT_RUN_CMD = @ARGV[1]; 51 } 52 53 # dispose of the first two arguments, leaving only the command's args. 54 shift; 55 shift; 56 57 # run the command 58 my $returnValue = system $ANT_RUN_CMD, @ARGV; 59 if ($returnValue eq 0) { 60 exit 0; 61 } 62 else { 63 # only 0 and 1 are widely recognized as exit values 64 # so change the exit value to 1 65 exit 1; 66 } 67