1#!/usr/bin/env bash 2# 3# Author: Markus Wenzel, TU Muenchen 4# 5# Isabelle tool wrapper. 6 7if [ -L "$0" ]; then 8 TARGET="$(LC_ALL=C ls -l "$0" | sed 's/.* -> //')" 9 exec "$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd "$(dirname "$TARGET")"; pwd)/$(basename "$TARGET")" "$@" 10fi 11 12 13## settings 14 15PRG="$(basename "$0")" 16 17ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)" 18source "$ISABELLE_HOME/lib/scripts/getsettings" || exit 2 19 20 21## external tool (shell script) 22 23if [ "$#" -ge 1 -a "$1" != "-?" ] 24then 25 TOOL_NAME="$1" 26 27 splitarray ":" "$ISABELLE_TOOLS"; TOOLS=("${SPLITARRAY[@]}") 28 for DIR in "${TOOLS[@]}" 29 do 30 TOOL="$DIR/$TOOL_NAME" 31 case "$TOOL" in 32 *~ | *.orig) ;; 33 *) 34 if [ -f "$TOOL" -a -x "$TOOL" ]; then 35 shift 36 exec "$TOOL" "$@" 37 fi 38 ;; 39 esac 40 done 41fi 42 43 44## internal tool or usage (Scala) 45 46isabelle_admin_build jars || exit $? 47 48eval "declare -a JAVA_ARGS=($ISABELLE_TOOL_JAVA_OPTIONS)" 49exec isabelle java "${JAVA_ARGS[@]}" isabelle.Isabelle_Tool "$@" 50