|  | 
|  | 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 | +  MSYS* | 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" "$@" | 
0 commit comments