From 3f66dc076f061ab93acae2529243ffb2e1ae3674 Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Wed, 10 Mar 2021 19:50:34 +0000 Subject: [PATCH] JAL-3830 first draft of wrapper script to go in macOS Jalview.app/Contents/MacOS/jalview --- utils/install4j/macos_jalview | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 utils/install4j/macos_jalview diff --git a/utils/install4j/macos_jalview b/utils/install4j/macos_jalview new file mode 100755 index 0000000..771d15b --- /dev/null +++ b/utils/install4j/macos_jalview @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +ARG1=$1 +WDIR="$( pwd )" +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +APP=${DIR%/Contents/MacOS} + +if [ "${APP}" = "${APP%.app}" ]; then + echo "Could not find .app dir" >&2 + exit 1 +fi + +# check to see if $1 is set and is not start of other cli set args +OPEN="" +if [ -n "$ARG1" -a "$ARG1" = "${ARG1#-}" ]; then + # first argument exists and does not start with a "-" + OPEN="-open" +fi + +# This would open the Jalview application as if double clicking, with the supplied args +# open -a ${APP} --args $OPEN "$@" +### or... + +APPDIR=${APP}/Contents/Resources/app +JAVA=${APPDIR}/jre/Contents/Home/bin/java +CLASSPATH=""; for x in $(grep -e 'code = ' ${APP}/Contents/Resources/app/getdown.txt | sed -e 's/^code = //;'); do [ -n "$CLASSPATH" ] && CLASSPATH="${CLASSPATH}:"; CLASSPATH="${CLASSPATH}${APPDIR}/${x}"; done + +#TODO add a -workingdir DIR argument for jalview.bin.Jalview to set user.dir. This will fix JAL-3523 +echo $JAVA -cp "$CLASSPATH" jalview.bin.Launcher $OPEN "$@" +$JAVA -cp "$CLASSPATH" jalview.bin.Launcher $OPEN "$@" +# -workingdir "$WDIR" -- 1.7.10.2