#!/usr/bin/env sh
|
|
##############################################################################
|
##
|
## ${applicationName} start up script for UN*X
|
##
|
##############################################################################
|
# G. Seinfeld COMMENT
|
# Attempt to set APP_HOME
|
# Resolve links: \$0 may be a link
|
PRG="\$0"
|
# Need this for relative symlinks.
|
while [ -h "\$PRG" ] ; do
|
ls=`ls -ld "\$PRG"`
|
link=`expr "\$ls" : '.*-> \\(.*\\)\$'`
|
if expr "\$link" : '/.*' > /dev/null; then
|
PRG="\$link"
|
else
|
PRG=`dirname "\$PRG"`"/\$link"
|
fi
|
done
|
SAVED="`pwd`"
|
cd "`dirname \"\$PRG\"`/${appHomeRelativePath}" >/dev/null
|
APP_HOME="`pwd -P`"
|
cd "\$SAVED" >/dev/null
|
|
APP_NAME="${applicationName}"
|
APP_BASE_NAME=`basename "\$0"`
|
|
# Add default JVM options here. You can also use JAVA_OPTS and ${optsEnvironmentVar} to pass JVM options to this script.
|
DEFAULT_JVM_OPTS=${defaultJvmOpts}
|
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
MAX_FD="maximum"
|
|
warn ( ) {
|
echo "\$*"
|
}
|
|
die ( ) {
|
echo
|
echo "\$*"
|
echo
|
exit 1
|
}
|
|
# OS specific support (must be 'true' or 'false').
|
cygwin=false
|
msys=false
|
darwin=false
|
nonstop=false
|
case "`uname`" in
|
CYGWIN* )
|
cygwin=true
|
;;
|
Darwin* )
|
darwin=true
|
;;
|
MINGW* )
|
msys=true
|
;;
|
NONSTOP* )
|
nonstop=true
|
;;
|
esac
|
|
JARPATH=$classpath
|
|
# Determine the Java command to use to start the JVM.
|
|
JAVACMD="\$APP_HOME/runtime/bin/java"
|
|
# Increase the maximum file descriptors if we can.
|
if [ "\$cygwin" = "false" -a "\$darwin" = "false" -a "\$nonstop" = "false" ] ; then
|
MAX_FD_LIMIT=`ulimit -H -n`
|
if [ \$? -eq 0 ] ; then
|
if [ "\$MAX_FD" = "maximum" -o "\$MAX_FD" = "max" ] ; then
|
MAX_FD="\$MAX_FD_LIMIT"
|
fi
|
ulimit -n \$MAX_FD
|
if [ \$? -ne 0 ] ; then
|
warn "Could not set maximum file descriptor limit: \$MAX_FD"
|
fi
|
else
|
warn "Could not query maximum file descriptor limit: \$MAX_FD_LIMIT"
|
fi
|
fi
|
|
# For Darwin, add options to specify how the application appears in the dock
|
if \$darwin; then
|
GRADLE_OPTS="\$GRADLE_OPTS \\"-Xdock:name=\$APP_NAME\\" \\"-Xdock:icon=\$APP_HOME/media/gradle.icns\\""
|
fi
|
|
# For Cygwin, switch paths to Windows format before running java
|
if \$cygwin ; then
|
APP_HOME=`cygpath --path --mixed "\$APP_HOME"`
|
JARPATH=`cygpath --path --mixed "\$JARPATH"`
|
JAVACMD=`cygpath --unix "\$JAVACMD"`
|
|
# We build the pattern for arguments to be converted via cygpath
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
SEP=""
|
for dir in \$ROOTDIRSRAW ; do
|
ROOTDIRS="\$ROOTDIRS\$SEP\$dir"
|
SEP="|"
|
done
|
OURCYGPATTERN="(^(\$ROOTDIRS))"
|
# Add a user-defined pattern to the cygpath arguments
|
if [ "\$GRADLE_CYGPATTERN" != "" ] ; then
|
OURCYGPATTERN="\$OURCYGPATTERN|(\$GRADLE_CYGPATTERN)"
|
fi
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
i=0
|
for arg in "\$@" ; do
|
CHECK=`echo "\$arg"|egrep -c "\$OURCYGPATTERN" -`
|
CHECK2=`echo "\$arg"|egrep -c "^-"` ### Determine if an option
|
|
if [ \$CHECK -ne 0 ] && [ \$CHECK2 -eq 0 ] ; then ### Added a condition
|
eval `echo args\$i`=`cygpath --path --ignore --mixed "\$arg"`
|
else
|
eval `echo args\$i`="\"\$arg\""
|
fi
|
i=\$((i+1))
|
done
|
case \$i in
|
(0) set -- ;;
|
(1) set -- "\$args0" ;;
|
(2) set -- "\$args0" "\$args1" ;;
|
(3) set -- "\$args0" "\$args1" "\$args2" ;;
|
(4) set -- "\$args0" "\$args1" "\$args2" "\$args3" ;;
|
(5) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" ;;
|
(6) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" ;;
|
(7) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" "\$args6" ;;
|
(8) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" "\$args6" "\$args7" ;;
|
(9) set -- "\$args0" "\$args1" "\$args2" "\$args3" "\$args4" "\$args5" "\$args6" "\$args7" "\$args8" ;;
|
esac
|
fi
|
|
# Escape application args
|
save ( ) {
|
for i do printf %s\\\\n "\$i" | sed "s/'/'\\\\\\\\''/g;1s/^/'/;\\\$s/\\\$/' \\\\\\\\/" ; done
|
echo " "
|
}
|
APP_ARGS=\$(save "\$@")
|
|
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
eval set -- \$DEFAULT_JVM_OPTS \$JAVA_OPTS \$${optsEnvironmentVar} <% if ( appNameSystemProperty ) { %>"\"-D${appNameSystemProperty}=\$APP_BASE_NAME\"" <% } %>-jar "\"\$JARPATH\"" "\$APP_ARGS"
|
|
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
if [ "\$(uname)" = "Darwin" ] && [ "\$HOME" = "\$PWD" ]; then
|
cd "\$(dirname "\$0")"
|
fi
|
|
exec "\$JAVACMD" "\$@"
|