gradlew 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. #!/bin/bash
  2. ##############################################################################
  3. ## ##
  4. ## Gradle wrapper script for UN*X ##
  5. ## ##
  6. ##############################################################################
  7. # Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together.
  8. GRADLE_OPTS="$GRADLE_OPTS -Xmx512m"
  9. # JAVA_OPTS="$JAVA_OPTS -Xmx512m"
  10. GRADLE_APP_NAME=Gradle
  11. # Use the maximum available, or set MAX_FD != -1 to use that value.
  12. MAX_FD="maximum"
  13. warn ( ) {
  14. echo "$*"
  15. }
  16. die ( ) {
  17. echo
  18. echo "$*"
  19. echo
  20. exit 1
  21. }
  22. # OS specific support (must be 'true' or 'false').
  23. cygwin=false
  24. msys=false
  25. darwin=false
  26. case "`uname`" in
  27. CYGWIN* )
  28. cygwin=true
  29. ;;
  30. Darwin* )
  31. darwin=true
  32. ;;
  33. MINGW* )
  34. msys=true
  35. ;;
  36. esac
  37. # Attempt to set JAVA_HOME if it's not already set.
  38. if [ -z "$JAVA_HOME" ] ; then
  39. if $darwin ; then
  40. [ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home"
  41. [ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home"
  42. else
  43. javaExecutable="`which javac`"
  44. [ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME."
  45. # readlink(1) is not available as standard on Solaris 10.
  46. readLink=`which readlink`
  47. [ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME."
  48. javaExecutable="`readlink -f \"$javaExecutable\"`"
  49. javaHome="`dirname \"$javaExecutable\"`"
  50. javaHome=`expr "$javaHome" : '\(.*\)/bin'`
  51. export JAVA_HOME="$javaHome"
  52. fi
  53. fi
  54. # For Cygwin, ensure paths are in UNIX format before anything is touched.
  55. if $cygwin ; then
  56. [ -n "$JAVACMD" ] && JAVACMD=`cygpath --unix "$JAVACMD"`
  57. [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  58. fi
  59. STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain
  60. CLASSPATH=`dirname "$0"`/gradle/wrapper/gradle-wrapper.jar
  61. WRAPPER_PROPERTIES=`dirname "$0"`/gradle/wrapper/gradle-wrapper.properties
  62. # Determine the Java command to use to start the JVM.
  63. if [ -z "$JAVACMD" ] ; then
  64. if [ -n "$JAVA_HOME" ] ; then
  65. if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  66. # IBM's JDK on AIX uses strange locations for the executables
  67. JAVACMD="$JAVA_HOME/jre/sh/java"
  68. else
  69. JAVACMD="$JAVA_HOME/bin/java"
  70. fi
  71. else
  72. JAVACMD="java"
  73. fi
  74. fi
  75. if [ ! -x "$JAVACMD" ] ; then
  76. die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
  77. Please set the JAVA_HOME variable in your environment to match the
  78. location of your Java installation."
  79. fi
  80. if [ -z "$JAVA_HOME" ] ; then
  81. warn "JAVA_HOME environment variable is not set"
  82. fi
  83. # Increase the maximum file descriptors if we can.
  84. if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
  85. MAX_FD_LIMIT=`ulimit -H -n`
  86. if [ $? -eq 0 ] ; then
  87. if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
  88. MAX_FD="$MAX_FD_LIMIT"
  89. fi
  90. ulimit -n $MAX_FD
  91. if [ $? -ne 0 ] ; then
  92. warn "Could not set maximum file descriptor limit: $MAX_FD"
  93. fi
  94. else
  95. warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT"
  96. fi
  97. fi
  98. # For Darwin, add GRADLE_APP_NAME to the JAVA_OPTS as -Xdock:name
  99. if $darwin; then
  100. JAVA_OPTS="$JAVA_OPTS -Xdock:name=$GRADLE_APP_NAME"
  101. # we may also want to set -Xdock:image
  102. fi
  103. # For Cygwin, switch paths to Windows format before running java
  104. if $cygwin ; then
  105. JAVA_HOME=`cygpath --path --mixed "$JAVA_HOME"`
  106. CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
  107. # We build the pattern for arguments to be converted via cygpath
  108. ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
  109. SEP=""
  110. for dir in $ROOTDIRSRAW ; do
  111. ROOTDIRS="$ROOTDIRS$SEP$dir"
  112. SEP="|"
  113. done
  114. OURCYGPATTERN="(^($ROOTDIRS))"
  115. # Add a user-defined pattern to the cygpath arguments
  116. if [ "$GRADLE_CYGPATTERN" != "" ] ; then
  117. OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
  118. fi
  119. # Now convert the arguments - kludge to limit ourselves to /bin/sh
  120. i=0
  121. for arg in "$@" ; do
  122. CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
  123. CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
  124. if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
  125. eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
  126. else
  127. eval `echo args$i`="\"$arg\""
  128. fi
  129. i=$((i+1))
  130. done
  131. case $i in
  132. (0) set -- ;;
  133. (1) set -- "$args0" ;;
  134. (2) set -- "$args0" "$args1" ;;
  135. (3) set -- "$args0" "$args1" "$args2" ;;
  136. (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
  137. (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
  138. (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
  139. (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
  140. (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
  141. (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
  142. esac
  143. fi
  144. GRADLE_APP_BASE_NAME=`basename "$0"`
  145. exec "$JAVACMD" $JAVA_OPTS $GRADLE_OPTS \
  146. -classpath "$CLASSPATH" \
  147. -Dorg.gradle.appname="$GRADLE_APP_BASE_NAME" \
  148. -Dorg.gradle.wrapper.properties="$WRAPPER_PROPERTIES" \
  149. $STARTER_MAIN_CLASS \
  150. "$@"