diff -r 18cbe1b8d859 -r 2e4d80723fb0 bin/isabelle_java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/isabelle_java Sun Oct 02 17:05:48 2016 +0200 @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +# +# Author: Makarius +# +# Isabelle/Java cold start -- without settings environment + +if [ -L "$0" ]; then + TARGET="$(LC_ALL=C ls -l "$0" | sed 's/.* -> //')" + exec "$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd "$(dirname "$TARGET")"; pwd)/$(basename "$TARGET")" "$@" +fi + +export ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)" + +( + source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2 + + declare -a JAVA_ARGS; eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS)" + + if [ -f "$ISABELLE_HOME/src/Tools/jEdit/dist/jedit.jar" ]; then + classpath "$ISABELLE_HOME/src/Tools/jEdit/dist/jedit.jar" + fi + + [ -n "$CLASSPATH" ] && classpath "$CLASSPATH" + + echo "$ISABELLE_ROOT" + echo "$CYGWIN_ROOT" + echo "$JAVA_HOME" + echo "$(platform_path "$ISABELLE_CLASSPATH")" + for ARG in "${JAVA_ARGS[@]}"; do echo "$ARG"; done +) | { + LINE_COUNT=0 + export ISABELLE_ROOT="" + export CYGWIN_ROOT="" + unset JAVA_HOME + unset ISABELLE_CLASSPATH + unset JAVA_ARGS; declare -a JAVA_ARGS + + while { unset REPLY; read -r; test "$?" = 0 -o -n "$REPLY"; } + do + case "$LINE_COUNT" in + 0) + LINE_COUNT=1 + ISABELLE_ROOT="$REPLY" + ;; + 1) + LINE_COUNT=2 + CYGWIN_ROOT="$REPLY" + ;; + 2) + LINE_COUNT=3 + JAVA_HOME="$REPLY" + ;; + 3) + LINE_COUNT=4 + ISABELLE_CLASSPATH="$REPLY" + ;; + *) + JAVA_ARGS["${#JAVA_ARGS[@]}"]="$REPLY" + ;; + esac + done + + if [ -z "$JAVA_HOME" ]; then + echo "Unknown JAVA_HOME -- Java unavailable" >&2 + exit 127 + else + unset CLASSPATH + exec "$JAVA_HOME/bin/java" "${JAVA_ARGS[@]}" -classpath "$ISABELLE_CLASSPATH" "$@" + fi +}