
trics.build.build-resources.2.0.1.source-code.appAssemblerUnixBinTemplate Maven / Gradle / Ivy
The newest version!
#!/bin/sh
@LICENSE_HEADER@
# resolve links - $0 may be a softlink
PRG="${0}"
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
PRGDIR=$(dirname "${PRG}")
BASEDIR=$(cd "${PRGDIR}/.." >/dev/null; pwd)
# Reset the REPO variable. If you need to influence this use the environment setup file.
REPO=
@ENV_SETUP@
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
case "$(uname)" in
CYGWIN*) cygwin=true ;;
Darwin*) darwin=true
if [ -z "${JAVA_VERSION}" ] ; then
JAVA_VERSION="CurrentJDK"
else
echo "Using Java version: ${JAVA_VERSION}"
fi
if [ -z "${JAVA_HOME}" ]; then
if [ -x "/usr/libexec/java_home" ]; then
JAVA_HOME=$(/usr/libexec/java_home)
else
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
fi
fi
;;
esac
if [ -z "${JAVA_HOME}" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=$(java-config --jre-home)
fi
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if ${cygwin} ; then
[ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --unix "${JAVA_HOME}")
[ -n "${CLASSPATH}" ] && CLASSPATH=$(cygpath --path --unix "${CLASSPATH}")
fi
# If a specific java binary isn't specified search for the standard 'java' binary
if [ -z "${JAVACMD}" ] ; then
if [ -n "${JAVA_HOME}" ] ; then
if [ -x "{$JAVA_HOME}/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="${JAVA_HOME}/jre/sh/java"
else
JAVACMD="${JAVA_HOME}/bin/java"
fi
else
JAVACMD=$(which java)
fi
fi
if [ ! -x "${JAVACMD}" ] ; then
echo "Error: JAVA_HOME is not defined correctly." 1>&2
echo " We cannot execute ${JAVACMD}" 1>&2
exit 1
fi
if [ -z "${REPO}" ]
then
REPO="${BASEDIR}"/@REPO@
fi
CLASSPATH=@CLASSPATH@
ENDORSED_DIR=@ENDORSED_DIR@
if [ -n "${ENDORSED_DIR}" ] ; then
CLASSPATH="${BASEDIR}/${ENDORSED_DIR}/*:${CLASSPATH}"
fi
if [ -n "${CLASSPATH_PREFIX}" ] ; then
CLASSPATH="${CLASSPATH_PREFIX}:${CLASSPATH}"
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "${CLASSPATH}" ] && CLASSPATH=$(cygpath --path --windows "${CLASSPATH}")
[ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --path --windows "${JAVA_HOME}")
[ -n "${HOME}" ] && HOME=$(cygpath --path --windows "${HOME}")
[ -n "${BASEDIR}" ] && BASEDIR=$(cygpath --path --windows "${BASEDIR}")
[ -n "${REPO}" ] && REPO=$(cygpath --path --windows "${REPO}")
fi
# Separate arguments for java (JAVA_OPTS) from application (APP_OPTS)
BEFORE_OPTS=""
AFTER_OPTS=""
SPLIT_FOUND=
for ARG in "$@"; do
VALUE=
eval "VALUE=\"${ARG}\""
if [ "${ARG}" = "${VALUE}" ]; then
case "${VALUE}" in
*\'*)
VALUE=`printf "%s" "$VALUE" | sed "s/'/'\"'\"'/g"`
;;
*) : ;;
esac
fi
if [ -z "${SPLIT_FOUND}" ]; then
if [ "${VALUE}" = "--" ]; then
SPLIT_FOUND="true"
else
BEFORE_OPTS="${BEFORE_OPTS} ${VALUE}"
fi
else
AFTER_OPTS="${AFTER_OPTS} ${VALUE}"
fi
done
if [ -z "${SPLIT_FOUND}" ]; then
JAVA_OPTS=""
APP_OPTS="${BEFORE_OPTS}"
else
JAVA_OPTS="${BEFORE_OPTS}"
APP_OPTS="${AFTER_OPTS}"
fi
# Build a single array of arguments for exec
ARGUMENTS="${JAVA_OPTS} \
@EXTRA_JVM_ARGUMENTS@ \
-classpath '${CLASSPATH}' \
-Dapp.name='@APP_NAME@' \
-Dapp.pid='$$' \
-Dapp.repo='${REPO}' \
-Dapp.home='${BASEDIR}' \
-Dbasedir='${BASEDIR}' \
@MAINCLASS@ \
@APP_ARGUMENTS@ \
${APP_OPTS}"
eval "set -- ${ARGUMENTS}"
# Exec the java process replacing this shell
exec "${JAVACMD}" "$@" @UNIX_BACKGROUND@
© 2015 - 2025 Weber Informatics LLC | Privacy Policy