gradlew 5.1 KB

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