| Sooraj Sasindran | 2a0af6f | 2022-03-08 15:00:16 -0800 | [diff] [blame^] | 1 | #!/usr/bin/env sh | 
|  | 2 |  | 
|  | 3 | # | 
|  | 4 | # Copyright 2015 the original author or authors. | 
|  | 5 | # | 
|  | 6 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | 7 | # you may not use this file except in compliance with the License. | 
|  | 8 | # You may obtain a copy of the License at | 
|  | 9 | # | 
|  | 10 | #      https://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 | ## | 
|  | 21 | ##  Gradle start up script for UN*X | 
|  | 22 | ## | 
|  | 23 | ############################################################################## | 
|  | 24 |  | 
|  | 25 | # Attempt to set APP_HOME | 
|  | 26 | # Resolve links: $0 may be a link | 
|  | 27 | PRG="$0" | 
|  | 28 | # Need this for relative symlinks. | 
|  | 29 | while [ -h "$PRG" ] ; do | 
|  | 30 | ls=`ls -ld "$PRG"` | 
|  | 31 | link=`expr "$ls" : '.*-> \(.*\)$'` | 
|  | 32 | if expr "$link" : '/.*' > /dev/null; then | 
|  | 33 | PRG="$link" | 
|  | 34 | else | 
|  | 35 | PRG=`dirname "$PRG"`"/$link" | 
|  | 36 | fi | 
|  | 37 | done | 
|  | 38 | SAVED="`pwd`" | 
|  | 39 | cd "`dirname \"$PRG\"`/" >/dev/null | 
|  | 40 | APP_HOME="`pwd -P`" | 
|  | 41 | cd "$SAVED" >/dev/null | 
|  | 42 |  | 
|  | 43 | APP_NAME="Gradle" | 
|  | 44 | APP_BASE_NAME=`basename "$0"` | 
|  | 45 |  | 
|  | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | 
|  | 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | 
|  | 48 |  | 
|  | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. | 
|  | 50 | MAX_FD="maximum" | 
|  | 51 |  | 
|  | 52 | warn () { | 
|  | 53 | echo "$*" | 
|  | 54 | } | 
|  | 55 |  | 
|  | 56 | die () { | 
|  | 57 | echo | 
|  | 58 | echo "$*" | 
|  | 59 | echo | 
|  | 60 | exit 1 | 
|  | 61 | } | 
|  | 62 |  | 
|  | 63 | # OS specific support (must be 'true' or 'false'). | 
|  | 64 | cygwin=false | 
|  | 65 | msys=false | 
|  | 66 | darwin=false | 
|  | 67 | nonstop=false | 
|  | 68 | case "`uname`" in | 
|  | 69 | CYGWIN* ) | 
|  | 70 | cygwin=true | 
|  | 71 | ;; | 
|  | 72 | Darwin* ) | 
|  | 73 | darwin=true | 
|  | 74 | ;; | 
|  | 75 | MINGW* ) | 
|  | 76 | msys=true | 
|  | 77 | ;; | 
|  | 78 | NONSTOP* ) | 
|  | 79 | nonstop=true | 
|  | 80 | ;; | 
|  | 81 | esac | 
|  | 82 |  | 
|  | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | 
|  | 84 |  | 
|  | 85 |  | 
|  | 86 | # Determine the Java command to use to start the JVM. | 
|  | 87 | if [ -n "$JAVA_HOME" ] ; then | 
|  | 88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | 
|  | 89 | # IBM's JDK on AIX uses strange locations for the executables | 
|  | 90 | JAVACMD="$JAVA_HOME/jre/sh/java" | 
|  | 91 | else | 
|  | 92 | JAVACMD="$JAVA_HOME/bin/java" | 
|  | 93 | fi | 
|  | 94 | if [ ! -x "$JAVACMD" ] ; then | 
|  | 95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | 
|  | 96 |  | 
|  | 97 | Please set the JAVA_HOME variable in your environment to match the | 
|  | 98 | location of your Java installation." | 
|  | 99 | fi | 
|  | 100 | else | 
|  | 101 | JAVACMD="java" | 
|  | 102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | 
|  | 103 |  | 
|  | 104 | Please set the JAVA_HOME variable in your environment to match the | 
|  | 105 | location of your Java installation." | 
|  | 106 | fi | 
|  | 107 |  | 
|  | 108 | # Increase the maximum file descriptors if we can. | 
|  | 109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then | 
|  | 110 | MAX_FD_LIMIT=`ulimit -H -n` | 
|  | 111 | if [ $? -eq 0 ] ; then | 
|  | 112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | 
|  | 113 | MAX_FD="$MAX_FD_LIMIT" | 
|  | 114 | fi | 
|  | 115 | ulimit -n $MAX_FD | 
|  | 116 | if [ $? -ne 0 ] ; then | 
|  | 117 | warn "Could not set maximum file descriptor limit: $MAX_FD" | 
|  | 118 | fi | 
|  | 119 | else | 
|  | 120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | 
|  | 121 | fi | 
|  | 122 | fi | 
|  | 123 |  | 
|  | 124 | # For Darwin, add options to specify how the application appears in the dock | 
|  | 125 | if $darwin; then | 
|  | 126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | 
|  | 127 | fi | 
|  | 128 |  | 
|  | 129 | # For Cygwin or MSYS, switch paths to Windows format before running java | 
|  | 130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then | 
|  | 131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` | 
|  | 132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | 
|  | 133 |  | 
|  | 134 | JAVACMD=`cygpath --unix "$JAVACMD"` | 
|  | 135 |  | 
|  | 136 | # We build the pattern for arguments to be converted via cygpath | 
|  | 137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | 
|  | 138 | SEP="" | 
|  | 139 | for dir in $ROOTDIRSRAW ; do | 
|  | 140 | ROOTDIRS="$ROOTDIRS$SEP$dir" | 
|  | 141 | SEP="|" | 
|  | 142 | done | 
|  | 143 | OURCYGPATTERN="(^($ROOTDIRS))" | 
|  | 144 | # Add a user-defined pattern to the cygpath arguments | 
|  | 145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then | 
|  | 146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | 
|  | 147 | fi | 
|  | 148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh | 
|  | 149 | i=0 | 
|  | 150 | for arg in "$@" ; do | 
|  | 151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | 
|  | 152 | CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option | 
|  | 153 |  | 
|  | 154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition | 
|  | 155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | 
|  | 156 | else | 
|  | 157 | eval `echo args$i`="\"$arg\"" | 
|  | 158 | fi | 
|  | 159 | i=`expr $i + 1` | 
|  | 160 | done | 
|  | 161 | case $i in | 
|  | 162 | 0) set -- ;; | 
|  | 163 | 1) set -- "$args0" ;; | 
|  | 164 | 2) set -- "$args0" "$args1" ;; | 
|  | 165 | 3) set -- "$args0" "$args1" "$args2" ;; | 
|  | 166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; | 
|  | 167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | 
|  | 168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | 
|  | 169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | 
|  | 170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | 
|  | 171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | 
|  | 172 | esac | 
|  | 173 | fi | 
|  | 174 |  | 
|  | 175 | # Escape application args | 
|  | 176 | save () { | 
|  | 177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done | 
|  | 178 | echo " " | 
|  | 179 | } | 
|  | 180 | APP_ARGS=`save "$@"` | 
|  | 181 |  | 
|  | 182 | # Collect all arguments for the java command, following the shell quoting and substitution rules | 
|  | 183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" | 
|  | 184 |  | 
|  | 185 | exec "$JAVACMD" "$@" |