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