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