All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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