| #!/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=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 .= "/".@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; |
| } |