diff --git a/Admin/build b/Admin/build --- a/Admin/build +++ b/Admin/build @@ -1,88 +1,88 @@ #!/usr/bin/env bash # # Administrative build for Isabelle source distribution. ## directory layout if [ -z "$ISABELLE_HOME" ]; then unset CDPATH ISABELLE_HOME="$(cd "$(dirname "$0")"; cd "$(pwd -P)"; cd ..; pwd)" ISABELLE_TOOL="$ISABELLE_HOME/bin/isabelle" fi ## diagnostics PRG="$(basename "$0")" function usage() { cat <&2 exit 2 } ## process command line [ "$#" -eq 0 ] && usage MODULES="$@"; shift "$#" ## modules function build_all () { build_browser build_setup build } function build_browser () { pushd "$ISABELLE_HOME/lib/browser" >/dev/null "$ISABELLE_TOOL" env ./build || exit $? popd >/dev/null } function build_setup () { rm -rf \ "$ISABELLE_HOME/lib/classes/Pure.jar" \ "$ISABELLE_HOME/lib/classes/Pure.shasum" \ "$ISABELLE_HOME/src/Tools/jEdit/dist" - "$ISABELLE_TOOL" java isabelle.setup.Setup "$@" + env ISABELLE_SETUP_CLASSPATH_SKIP=true "$ISABELLE_TOOL" java isabelle.setup.Setup "$@" } ## main for MODULE in $MODULES do case $MODULE in all) build_all;; browser) build_browser;; jars) build_setup build;; jars_fresh) build_setup build_fresh;; *) fail "Bad module $MODULE" esac done diff --git a/lib/Tools/java b/lib/Tools/java --- a/lib/Tools/java +++ b/lib/Tools/java @@ -1,13 +1,17 @@ #!/usr/bin/env bash # # Author: Makarius # # DESCRIPTION: invoke Java within the Isabelle environment eval "declare -a JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS)" -classpath "$ISABELLE_SETUP_CLASSPATH"; unset ISABELLE_SETUP_CLASSPATH +if [ -z "$ISABELLE_SETUP_CLASSPATH_SKIP" -o "$ISABELLE_SETUP_CLASSPATH_SKIP" = "false" ] +then + classpath "$ISABELLE_SETUP_CLASSPATH"; unset ISABELLE_SETUP_CLASSPATH +fi + classpath "$CLASSPATH"; unset CLASSPATH isabelle_java java "${JAVA_ARGS[@]}" \ -classpath "$(platform_path "$ISABELLE_CLASSPATH")" "$@"