112 lines
2.2 KiB
Bash
Executable File
112 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
#
|
|
# Copyright © 2015 the original authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
|
|
##############################################################################
|
|
|
|
app_path=$0
|
|
|
|
while
|
|
APP_HOME=${app_path%"${app_path##*/}"}
|
|
[ -h "$app_path" ]
|
|
do
|
|
ls=$( ls -ld "$app_path" )
|
|
link=${ls#*' -> '}
|
|
case $link in
|
|
/*) app_path=$link ;;
|
|
*) app_path=$APP_HOME$link ;;
|
|
esac
|
|
done
|
|
|
|
APP_BASE_NAME=${0##*/}
|
|
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
|
|
|
MAX_FD=maximum
|
|
|
|
warn () {
|
|
echo "$*"
|
|
} >&2
|
|
|
|
die () {
|
|
echo
|
|
echo "$*"
|
|
echo
|
|
exit 1
|
|
} >&2
|
|
|
|
cygwin=false
|
|
msys=false
|
|
darwin=false
|
|
nonstop=false
|
|
case "$( uname )" in
|
|
CYGWIN*) cygwin=true ;;
|
|
Darwin*) darwin=true ;;
|
|
MSYS* | MINGW*) msys=true ;;
|
|
NONSTOP*) nonstop=true ;;
|
|
esac
|
|
|
|
if [ -n "$JAVA_HOME" ] ; then
|
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
|
JAVACMD=$JAVA_HOME/jre/sh/java
|
|
else
|
|
JAVACMD=$JAVA_HOME/bin/java
|
|
fi
|
|
if [ ! -x "$JAVACMD" ] ; then
|
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME"
|
|
fi
|
|
else
|
|
JAVACMD=java
|
|
if ! command -v java >/dev/null 2>&1
|
|
then
|
|
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH."
|
|
fi
|
|
fi
|
|
|
|
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|
case $MAX_FD in
|
|
max*)
|
|
MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit"
|
|
;;
|
|
esac
|
|
case $MAX_FD in
|
|
'' | soft) ;;
|
|
*)
|
|
ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if "$cygwin" || "$msys" ; then
|
|
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
|
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
|
fi
|
|
|
|
DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"'
|
|
|
|
set -- \
|
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
|
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
|
"$@"
|
|
|
|
if ! command -v xargs >/dev/null 2>&1
|
|
then
|
|
die "xargs is not available"
|
|
fi
|
|
|
|
eval "set -- $(
|
|
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
|
xargs -n1 |
|
|
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
|
tr '\n' ' '
|
|
)" '"$@"'
|
|
|
|
exec "$JAVACMD" "$@"
|