antRun.pl 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. #be fussy about variables
  26. use strict;
  27. #turn warnings on during dev; generates a few spurious uninitialised var access warnings
  28. #use warnings;
  29. #and set $debug to 1 to turn on trace info (currently unused)
  30. my $debug = 1;
  31. #######################################################################
  32. # change drive and directory to "%1"
  33. my $ANT_RUN_CMD = @ARGV[0];
  34. # assign current run command to "%2"
  35. chdir(@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n";
  36. if ($^O eq "NetWare") {
  37. # There is a bug in Perl 5 on NetWare, where chdir does not
  38. # do anything. On NetWare, the following path-prefixed form should
  39. # always work. (afaict)
  40. $ANT_RUN_CMD .= "/" . @ARGV[1];
  41. } else {
  42. $ANT_RUN_CMD = @ARGV[1];
  43. }
  44. # dispose of the first two arguments, leaving only the command's args.
  45. shift;
  46. shift;
  47. # run the command
  48. my $returnValue = system $ANT_RUN_CMD, @ARGV;
  49. if ($returnValue eq 0) {
  50. exit 0;
  51. } else {
  52. # only 0 and 1 are widely recognized as exit values
  53. # so change the exit value to 1
  54. exit 1;
  55. }