#!/usr/bin/env bash
ARG1=$1
-WDIR="$( pwd )"
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+DIR="$(dirname "$(readlink -f "$0")")"
# check to see if $1 is set and is not start of other cli set args
OPEN=""
-if [ -n "$ARG1" -a "$ARG1" = "${ARG1#-}" -a \! "$ARG1" = "open" ]; then
+if [ -n "${ARG1}" -a "${ARG1}" = "${ARG1#-}" -a "${ARG1}" != "open" ]; then
# first argument exists and does not start with a "-" and is not "open"
OPEN="-open"
fi
APPDIR="${DIR}"
JAVA="${APPDIR}/jre/bin/java"
GETDOWNTXT="${APPDIR}/getdown.txt"
-if [ -e "$GETDOWNTXT" ]; then
- CLASSPATH=""
- for x in $(grep -e 'code = ' "${GETDOWNTXT}" | sed -e 's/^code\s*=\s*//;'); do
- [ -n "$CLASSPATH" ] && CLASSPATH="${CLASSPATH}:"
- CLASSPATH="${CLASSPATH}${APPDIR}/${x}"
+CLASSPATH=""
+if [ -e "${GETDOWNTXT}" ]; then
+ for JAR in $(grep -e '^code\s*=\s*' "${GETDOWNTXT}" | sed -e 's/^code\s*=\s*//;'); do
+ [ -n "${CLASSPATH}" ] && CLASSPATH="${CLASSPATH}:"
+ CLASSPATH="${CLASSPATH}${APPDIR}/${JAR}"
done
else
echo "Cannot find getdown.txt" >&2
- exit 1
+ exit 3
fi
-"$JAVA" -cp "$CLASSPATH" jalview.bin.Launcher $OPEN "$@"
+if [ \! -e "${JAVA}" ]; then
+ echo "Cannot find bundled java, using system and hoping for the best!" >&2
+ JAVA=java
+fi
+
+# don't quote $OPEN
+"${JAVA}" -cp "${CLASSPATH}" jalview.bin.Launcher ${OPEN} "$@"