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@novell.com 27####################################################################### 28#be fussy about variables 29use 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) 35my $debug=1; 36 37####################################################################### 38# change drive and directory to "%1" 39my $ANT_RUN_CMD = @ARGV[0]; 40 41# assign current run command to "%2" 42chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n"; 43if ($^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} 49else { 50 $ANT_RUN_CMD = @ARGV[1]; 51} 52 53# dispose of the first two arguments, leaving only the command's args. 54shift; 55shift; 56 57# run the command 58my $returnValue = system $ANT_RUN_CMD, @ARGV; 59if ($returnValue eq 0) { 60 exit 0; 61} 62else { 63 # only 0 and 1 are widely recognized as exit values 64 # so change the exit value to 1 65 exit 1; 66} 67