Index: antRun.pl
RCS file: /home/cvspublic/jakarta-ant/src/script/antRun.pl

#!/usr/bin/perl
#######################################################################
#
# 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
# last modified:   2001-11-13
# author:          Jeff Tulley jtulley@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=0;

#######################################################################
# change drive and directory to "%1"
#chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n";
my $ANT_RUN_CMD = @ARGV[0];

if ($ANT_RUN_CMD eq "-") {
    # there is no directory to prefix with.
    # this allows execution on NetWare, where sys:/java/bin/java.nlm will
    # trigger a complaint that Java.nlm is being executed twice; whereas
    # simply typing # "java" suffices because it is a registered system
    # command once java.nlm has been loaded once.
    $ANT_RUN_CMD = @ARGV[1];
}
else {
    # assign current run command to "%2"
    $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;
}
