You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

ant 3.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. #! /bin/sh
  2. # Copyright (c) 2001-2002 The Apache Software Foundation. All rights
  3. # reserved.
  4. if [ -f "$HOME/.antrc" ] ; then
  5. . $HOME/.antrc
  6. fi
  7. # OS specific support. $var _must_ be set to either true or false.
  8. cygwin=false;
  9. darwin=false;
  10. case "`uname`" in
  11. CYGWIN*) cygwin=true ;;
  12. Darwin*) darwin=true ;;
  13. esac
  14. if [ -z "$ANT_HOME" ] ; then
  15. # try to find ANT
  16. if [ -d /opt/ant ] ; then
  17. ANT_HOME=/opt/ant
  18. fi
  19. if [ -d ${HOME}/opt/ant ] ; then
  20. ANT_HOME=${HOME}/opt/ant
  21. fi
  22. ## resolve links - $0 may be a link to ant's home
  23. PRG=$0
  24. progname=`basename $0`
  25. saveddir=`pwd`
  26. # need this for relative symlinks
  27. cd `dirname $PRG`
  28. while [ -h "$PRG" ] ; do
  29. ls=`ls -ld "$PRG"`
  30. link=`expr "$ls" : '.*-> \(.*\)$'`
  31. if expr "$link" : '.*/.*' > /dev/null; then
  32. PRG="$link"
  33. else
  34. PRG="`dirname $PRG`/$link"
  35. fi
  36. done
  37. ANT_HOME=`dirname "$PRG"`/..
  38. # make it fully qualified
  39. ANT_HOME=`cd "$ANT_HOME" && pwd`
  40. cd $saveddir
  41. fi
  42. # For Cygwin, ensure paths are in UNIX format before anything is touched
  43. if $cygwin ; then
  44. [ -n "$ANT_HOME" ] &&
  45. ANT_HOME=`cygpath --unix "$ANT_HOME"`
  46. [ -n "$JAVA_HOME" ] &&
  47. JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  48. [ -n "$CLASSPATH" ] &&
  49. CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
  50. fi
  51. if [ -z "$JAVACMD" ] ; then
  52. if [ -n "$JAVA_HOME" ] ; then
  53. if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  54. # IBM's JDK on AIX uses strange locations for the executables
  55. JAVACMD=$JAVA_HOME/jre/sh/java
  56. else
  57. JAVACMD=$JAVA_HOME/bin/java
  58. fi
  59. else
  60. JAVACMD=java
  61. fi
  62. fi
  63. if [ ! -x "$JAVACMD" ] ; then
  64. echo "Error: JAVA_HOME is not defined correctly."
  65. echo " We cannot execute $JAVACMD"
  66. exit 1
  67. fi
  68. if [ -n "$CLASSPATH" ] ; then
  69. LOCALCLASSPATH=$CLASSPATH
  70. fi
  71. # add in the dependency .jar files
  72. DIRLIBS=${ANT_HOME}/lib/*.jar
  73. for i in ${DIRLIBS}
  74. do
  75. # if the directory is empty, then it will return the input string
  76. # this is stupid, so case for it
  77. if [ "$i" != "${DIRLIBS}" ] ; then
  78. if [ -z "$LOCALCLASSPATH" ] ; then
  79. LOCALCLASSPATH=$i
  80. else
  81. LOCALCLASSPATH="$i":$LOCALCLASSPATH
  82. fi
  83. fi
  84. done
  85. if [ -n "$JAVA_HOME" ] ; then
  86. if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
  87. LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar
  88. fi
  89. if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then
  90. LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip
  91. fi
  92. # OSX hack to make Ant work with jikes
  93. if $darwin ; then
  94. OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
  95. if [ -d ${OSXHACK} ] ; then
  96. for i in ${OSXHACK}/*.jar
  97. do
  98. JIKESPATH=$JIKESPATH:$i
  99. done
  100. fi
  101. fi
  102. else
  103. echo "Warning: JAVA_HOME environment variable is not set."
  104. echo " If build fails because sun.* classes could not be found"
  105. echo " you will need to set the JAVA_HOME environment variable"
  106. echo " to the installation directory of java."
  107. fi
  108. # supply JIKESPATH to Ant as jikes.class.path
  109. if [ -n "$JIKESPATH" ] ; then
  110. if [ -n "$ANT_OPTS" ] ; then
  111. ANT_OPTS="$ANT_OPTS -Djikes.class.path=$JIKESPATH"
  112. else
  113. ANT_OPTS=-Djikes.class.path=$JIKESPATH
  114. fi
  115. fi
  116. # For Cygwin, switch paths to Windows format before running java
  117. if $cygwin; then
  118. ANT_HOME=`cygpath --path --windows "$ANT_HOME"`
  119. JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
  120. CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
  121. LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
  122. fi
  123. $JAVACMD -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@"