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 4.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. #! /bin/sh
  2. # Copyright (c) 2001-2003 The Apache Software Foundation. All rights
  3. # reserved.
  4. # load system-wide ant configuration
  5. if [ -f "/etc/ant.conf" ] ; then
  6. . /etc/ant.conf
  7. fi
  8. # provide default values for people who don't use RPMs
  9. if [ -z "$rpm_mode" ] ; then
  10. rpm_mode=false;
  11. fi
  12. if [ -z "$usejikes" ] ; then
  13. usejikes=false;
  14. fi
  15. # load user ant configuration
  16. if [ -f "$HOME/.antrc" ] ; then
  17. . "$HOME/.antrc"
  18. fi
  19. # OS specific support. $var _must_ be set to either true or false.
  20. cygwin=false;
  21. darwin=false;
  22. case "`uname`" in
  23. CYGWIN*) cygwin=true ;;
  24. Darwin*) darwin=true
  25. if [ -z "$JAVA_HOME" ] ; then
  26. JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
  27. fi
  28. ;;
  29. esac
  30. if [ -z "$ANT_HOME" ] ; then
  31. # try to find ANT
  32. if [ -d /opt/ant ] ; then
  33. ANT_HOME=/opt/ant
  34. fi
  35. if [ -d "${HOME}/opt/ant" ] ; then
  36. ANT_HOME="${HOME}/opt/ant"
  37. fi
  38. ## resolve links - $0 may be a link to ant's home
  39. PRG="$0"
  40. progname=`basename "$0"`
  41. # need this for relative symlinks
  42. while [ -h "$PRG" ] ; do
  43. ls=`ls -ld "$PRG"`
  44. link=`expr "$ls" : '.*-> \(.*\)$'`
  45. if expr "$link" : '/.*' > /dev/null; then
  46. PRG="$link"
  47. else
  48. PRG=`dirname "$PRG"`"/$link"
  49. fi
  50. done
  51. ANT_HOME=`dirname "$PRG"`/..
  52. # make it fully qualified
  53. ANT_HOME=`cd "$ANT_HOME" && pwd`
  54. fi
  55. # For Cygwin, ensure paths are in UNIX format before anything is touched
  56. if $cygwin ; then
  57. [ -n "$ANT_HOME" ] &&
  58. ANT_HOME=`cygpath --unix "$ANT_HOME"`
  59. [ -n "$JAVA_HOME" ] &&
  60. JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  61. fi
  62. # set ANT_LIB location
  63. ANT_LIB="${ANT_HOME}/lib"
  64. if [ -z "$JAVACMD" ] ; then
  65. if [ -n "$JAVA_HOME" ] ; then
  66. if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  67. # IBM's JDK on AIX uses strange locations for the executables
  68. JAVACMD="$JAVA_HOME/jre/sh/java"
  69. else
  70. JAVACMD="$JAVA_HOME/bin/java"
  71. fi
  72. else
  73. JAVACMD=`which java 2> /dev/null `
  74. if [ -z "$JAVACMD" ] ; then
  75. JAVACMD=java
  76. fi
  77. fi
  78. fi
  79. if [ ! -x "$JAVACMD" ] ; then
  80. echo "Error: JAVA_HOME is not defined correctly."
  81. echo " We cannot execute $JAVACMD"
  82. exit 1
  83. fi
  84. # in rpm_mode get ant/optional/xml parser&api from JAVALIBDIR
  85. if $rpm_mode; then
  86. JAVALIBDIR=/usr/share/java
  87. for i in ant ant-optional jaxp_parser xml_apis
  88. do
  89. if [ -z "$LOCALCLASSPATH" ] ; then
  90. LOCALCLASSPATH="$JAVALIBDIR/$i.jar"
  91. else
  92. LOCALCLASSPATH="$JAVALIBDIR/$i.jar:$LOCALCLASSPATH"
  93. fi
  94. done
  95. # in rpm mode ant/lib is in /usr/share/java/ant
  96. ANT_LIB="${JAVALIBDIR}/ant"
  97. fi
  98. if [ -z "$LOCALCLASSPATH" ] ; then
  99. LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
  100. else
  101. LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
  102. fi
  103. if [ -n "$JAVA_HOME" ] ; then
  104. # OSX hack to make Ant work with jikes
  105. if $darwin ; then
  106. OSXHACK="${JAVA_HOME}/../Classes"
  107. if [ -d "${OSXHACK}" ] ; then
  108. for i in "${OSXHACK}"/*.jar
  109. do
  110. JIKESPATH="$JIKESPATH:$i"
  111. done
  112. fi
  113. fi
  114. fi
  115. # Allow Jikes support (off by default)
  116. if $usejikes; then
  117. ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
  118. fi
  119. # For Cygwin, switch paths to Windows format before running java
  120. if $cygwin; then
  121. ANT_HOME=`cygpath --windows "$ANT_HOME"`
  122. JAVA_HOME=`cygpath --windows "$JAVA_HOME"`
  123. LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
  124. CYGHOME=`cygpath --windows "$HOME"`
  125. fi
  126. if [ -n "$CYGHOME" ]; then
  127. if [ -n "$JIKESPATH" ]; then
  128. exec "$JAVACMD" $ANT_OPTS -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Djikes.class.path="$JIKESPATH" -Dcygwin.user.home="$CYGHOME" org.apache.tools.ant.launch.Launcher $ANT_ARGS -lib "$CLASSPATH" "$@"
  129. else
  130. exec "$JAVACMD" $ANT_OPTS -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Dcygwin.user.home="$CYGHOME" org.apache.tools.ant.launch.Launcher $ANT_ARGS -lib "$CLASSPATH" "$@"
  131. fi
  132. else
  133. if [ -n "$JIKESPATH" ]; then
  134. exec "$JAVACMD" $ANT_OPTS -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Djikes.class.path="$JIKESPATH" org.apache.tools.ant.launch.Launcher $ANT_ARGS -lib "$CLASSPATH" "$@"
  135. else
  136. exec "$JAVACMD" $ANT_OPTS -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" org.apache.tools.ant.launch.Launcher $ANT_ARGS -lib "$CLASSPATH" "$@"
  137. fi
  138. fi