158a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemle#!/usr/bin/env sh 294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver############################################################################## 494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver## 594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver## Gradle start up script for UN*X 694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver## 794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver############################################################################## 894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 9e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle# Attempt to set APP_HOME 10e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle# Resolve links: $0 may be a link 11e231d681d7ae7de26523d8aa92d5368281e54102Frieder BluemlePRG="$0" 12e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle# Need this for relative symlinks. 13e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemlewhile [ -h "$PRG" ] ; do 14e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle ls=`ls -ld "$PRG"` 15e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle link=`expr "$ls" : '.*-> \(.*\)$'` 16e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle if expr "$link" : '/.*' > /dev/null; then 17e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle PRG="$link" 18e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle else 19e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle PRG=`dirname "$PRG"`"/$link" 20e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle fi 21e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemledone 22e231d681d7ae7de26523d8aa92d5368281e54102Frieder BluemleSAVED="`pwd`" 23e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemlecd "`dirname \"$PRG\"`/" >/dev/null 24e231d681d7ae7de26523d8aa92d5368281e54102Frieder BluemleAPP_HOME="`pwd -P`" 25e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemlecd "$SAVED" >/dev/null 2694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 2794599babbb437dd6bbd51d61dce42b57b71d88deBen GruverAPP_NAME="Gradle" 2894599babbb437dd6bbd51d61dce42b57b71d88deBen GruverAPP_BASE_NAME=`basename "$0"` 2994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 30e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31e231d681d7ae7de26523d8aa92d5368281e54102Frieder BluemleDEFAULT_JVM_OPTS="" 32e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle 3394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver# Use the maximum available, or set MAX_FD != -1 to use that value. 3494599babbb437dd6bbd51d61dce42b57b71d88deBen GruverMAX_FD="maximum" 3594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 3694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverwarn ( ) { 3794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver echo "$*" 3894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver} 3994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 4094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverdie ( ) { 4194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver echo 4294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver echo "$*" 4394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver echo 4494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver exit 1 4594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver} 4694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 4794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver# OS specific support (must be 'true' or 'false'). 4894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruvercygwin=false 4994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruvermsys=false 5094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverdarwin=false 51e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemlenonstop=false 5294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruvercase "`uname`" in 5394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver CYGWIN* ) 5494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver cygwin=true 5594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver ;; 5694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver Darwin* ) 5794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver darwin=true 5894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver ;; 5994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver MINGW* ) 6094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver msys=true 6194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver ;; 62e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle NONSTOP* ) 63e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle nonstop=true 64e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle ;; 6594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruveresac 6694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 6794599babbb437dd6bbd51d61dce42b57b71d88deBen GruverCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 6894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 6994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver# Determine the Java command to use to start the JVM. 7094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverif [ -n "$JAVA_HOME" ] ; then 7194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 7294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver # IBM's JDK on AIX uses strange locations for the executables 7394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver JAVACMD="$JAVA_HOME/jre/sh/java" 7494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver else 7594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver JAVACMD="$JAVA_HOME/bin/java" 7694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 7794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ ! -x "$JAVACMD" ] ; then 7894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 7994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 8094599babbb437dd6bbd51d61dce42b57b71d88deBen GruverPlease set the JAVA_HOME variable in your environment to match the 8194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverlocation of your Java installation." 8294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 8394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverelse 8494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver JAVACMD="java" 8594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 8694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 8794599babbb437dd6bbd51d61dce42b57b71d88deBen GruverPlease set the JAVA_HOME variable in your environment to match the 8894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverlocation of your Java installation." 8994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverfi 9094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 9194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver# Increase the maximum file descriptors if we can. 92e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemleif [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 9394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver MAX_FD_LIMIT=`ulimit -H -n` 9494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ $? -eq 0 ] ; then 9594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 9694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver MAX_FD="$MAX_FD_LIMIT" 9794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 9894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver ulimit -n $MAX_FD 9994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ $? -ne 0 ] ; then 10094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver warn "Could not set maximum file descriptor limit: $MAX_FD" 10194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 10294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver else 10394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 10494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 10594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverfi 10694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 10794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver# For Darwin, add options to specify how the application appears in the dock 10894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverif $darwin; then 10994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 11094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverfi 11194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 11294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver# For Cygwin, switch paths to Windows format before running java 11394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverif $cygwin ; then 11494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver APP_HOME=`cygpath --path --mixed "$APP_HOME"` 11594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 1166c6b9f0845e32ee841b267395bdf77fa9217e83bBen Gruver JAVACMD=`cygpath --unix "$JAVACMD"` 11794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 11894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver # We build the pattern for arguments to be converted via cygpath 11994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 12094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver SEP="" 12194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver for dir in $ROOTDIRSRAW ; do 12294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver ROOTDIRS="$ROOTDIRS$SEP$dir" 12394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver SEP="|" 12494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver done 12594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver OURCYGPATTERN="(^($ROOTDIRS))" 12694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver # Add a user-defined pattern to the cygpath arguments 12794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ "$GRADLE_CYGPATTERN" != "" ] ; then 12894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 12994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 13094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver # Now convert the arguments - kludge to limit ourselves to /bin/sh 13194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver i=0 13294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver for arg in "$@" ; do 13394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 13494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 13594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 13694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 13794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 13894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver else 13994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver eval `echo args$i`="\"$arg\"" 14094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver fi 14194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver i=$((i+1)) 14294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver done 14394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver case $i in 14494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (0) set -- ;; 14594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (1) set -- "$args0" ;; 14694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (2) set -- "$args0" "$args1" ;; 14794599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (3) set -- "$args0" "$args1" "$args2" ;; 14894599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 14994599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 15094599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 15194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 15294599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 15394599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 15494599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver esac 15594599babbb437dd6bbd51d61dce42b57b71d88deBen Gruverfi 15694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 15758a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemle# Escape application args 15858a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemlesave ( ) { 15958a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemle for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 16058a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemle echo " " 16194599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver} 16258a4809720867b8f11d907ee83f1f20839499fc2Frieder BluemleAPP_ARGS=$(save "$@") 16358a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemle 16458a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemle# Collect all arguments for the java command, following the shell quoting and substitution rules 16558a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemleeval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 16694599babbb437dd6bbd51d61dce42b57b71d88deBen Gruver 167e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 16858a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemleif [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle cd "$(dirname "$0")" 170e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemlefi 171e231d681d7ae7de26523d8aa92d5368281e54102Frieder Bluemle 17258a4809720867b8f11d907ee83f1f20839499fc2Frieder Bluemleexec "$JAVACMD" "$@" 173