# HG changeset patch # User wenzelm # Date 1378985034 -7200 # Node ID 793a429c63e7ceeb63beeccfb0850a3440f3139c # Parent df79aa33bb7401f702a0762e23500db00d0d1e12 maintain classpath in more elementary manner: turn ISABELLE_CLASSPATH into -classpath option, so that all jars are covered by sun.misc.Launcher.AppClassLoader (e.g. relevant for loading add-on resources); ignore $ISABELLE_JAVA_EXT -- do not change java.ext.dirs; diff -r df79aa33bb74 -r 793a429c63e7 Admin/components/components.sha1 --- a/Admin/components/components.sha1 Wed Sep 11 23:32:47 2013 +0200 +++ b/Admin/components/components.sha1 Thu Sep 12 13:23:54 2013 +0200 @@ -34,6 +34,7 @@ c85c0829b8170f25aa65ec6852f505ce2a50639b jedit_build-20130628.tar.gz 5de3e399be2507f684b49dfd13da45228214bbe4 jedit_build-20130905.tar.gz 87136818fd5528d97288f5b06bd30c787229eb0d jedit_build-20130910.tar.gz +0bd2bc2d9a491ba5fc8dd99df27c04f11a72e8fa jfreechart-1.0.14-1.tar.gz 8122526f1fc362ddae1a328bdbc2152853186fee jfreechart-1.0.14.tar.gz 6c737137cc597fc920943783382e928ea79e3feb kodkodi-1.2.16.tar.gz 5f95c96bb99927f3a026050f85bd056f37a9189e kodkodi-1.5.2.tar.gz @@ -59,6 +60,7 @@ e6a43b7b3b21295853bd2a63b27ea20bd6102f5f windows_app-20130906.tar.gz 8fe004aead867d4c82425afac481142bd3f01fb0 windows_app-20130908.tar.gz d273abdc7387462f77a127fa43095eed78332b5c windows_app-20130909.tar.gz +1c36a840320dfa9bac8af25fc289a4df5ea3eccb xz-java-1.2-1.tar.gz 2ae13aa17d0dc95ce254a52f1dba10929763a10d xz-java-1.2.tar.gz 4530a1aa6f4498ee3d78d6000fa71a3f63bd077f yices-1.0.28.tar.gz 12ae71acde43bd7bed1e005c43034b208c0cba4c z3-3.2.tar.gz diff -r df79aa33bb74 -r 793a429c63e7 Admin/components/main --- a/Admin/components/main Wed Sep 11 23:32:47 2013 +0200 +++ b/Admin/components/main Thu Sep 12 13:23:54 2013 +0200 @@ -5,10 +5,10 @@ Haskabelle-2013 jdk-7u25 jedit_build-20130910 -jfreechart-1.0.14 +jfreechart-1.0.14-1 kodkodi-1.5.2 polyml-5.5.0-3 scala-2.10.2 spass-3.8ds z3-3.2 -xz-java-1.2 +xz-java-1.2-1 diff -r df79aa33bb74 -r 793a429c63e7 etc/settings --- a/etc/settings Wed Sep 11 23:32:47 2013 +0200 +++ b/etc/settings Thu Sep 12 13:23:54 2013 +0200 @@ -15,6 +15,13 @@ ISABELLE_JAVA_SYSTEM_OPTIONS="-Dfile.encoding=UTF-8 -server" +classpath "$ISABELLE_HOME/lib/classes/ext/Pure.jar" +classpath "$ISABELLE_HOME/lib/classes/ext/scala-library.jar" +classpath "$ISABELLE_HOME/lib/classes/ext/scala-swing.jar" +classpath "$ISABELLE_HOME/lib/classes/ext/scala-actors.jar" +classpath "$ISABELLE_HOME/lib/classes/ext/scala-compiler.jar" +classpath "$ISABELLE_HOME/lib/classes/ext/scala-reflect.jar" + ### ### Interactive sessions (cf. isabelle tty) diff -r df79aa33bb74 -r 793a429c63e7 lib/Tools/java --- a/lib/Tools/java Wed Sep 11 23:32:47 2013 +0200 +++ b/lib/Tools/java Thu Sep 12 13:23:54 2013 +0200 @@ -4,9 +4,8 @@ # # DESCRIPTION: invoke Java within the Isabelle environment -CLASSPATH="$(jvmpath "$CLASSPATH")" +declare -a JAVA_ARGS; eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS)" -declare -a JAVA_ARGS; eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS)" isabelle_jdk java "${JAVA_ARGS[@]}" \ - "-Djava.ext.dirs=$(jvmpath "$ISABELLE_JAVA_EXT:$ISABELLE_HOME/lib/classes/ext")" "$@" + -classpath "$(jvmpath "$ISABELLE_CLASSPATH")" "$@" diff -r df79aa33bb74 -r 793a429c63e7 lib/Tools/scala --- a/lib/Tools/scala Wed Sep 11 23:32:47 2013 +0200 +++ b/lib/Tools/scala Thu Sep 12 13:23:54 2013 +0200 @@ -6,6 +6,6 @@ isabelle_admin_build jars || exit $? -CLASSPATH="$(jvmpath "$CLASSPATH")" isabelle_scala scala -Dfile.encoding=UTF-8 \ - "-Djava.ext.dirs=$(jvmpath "$ISABELLE_JAVA_EXT:$ISABELLE_HOME/lib/classes/ext")" "$@" + -classpath "$(jvmpath "$ISABELLE_CLASSPATH")" "$@" + diff -r df79aa33bb74 -r 793a429c63e7 lib/Tools/scalac --- a/lib/Tools/scalac Wed Sep 11 23:32:47 2013 +0200 +++ b/lib/Tools/scalac Thu Sep 12 13:23:54 2013 +0200 @@ -6,7 +6,6 @@ isabelle_admin_build jars || exit $? -CLASSPATH="$(jvmpath "$CLASSPATH")" isabelle_scala scalac -Dfile.encoding=UTF-8 \ - "-Djava.ext.dirs=$(jvmpath "$ISABELLE_JAVA_EXT:$ISABELLE_HOME/lib/classes/ext")" "$@" + -classpath "$(jvmpath "$ISABELLE_CLASSPATH")" "$@" diff -r df79aa33bb74 -r 793a429c63e7 lib/scripts/getsettings --- a/lib/scripts/getsettings Wed Sep 11 23:32:47 2013 +0200 +++ b/lib/scripts/getsettings Thu Sep 12 13:23:54 2013 +0200 @@ -21,16 +21,20 @@ ISABELLE_HOME_WINDOWS="$(cygpath -w "$(dirname "$ISABELLE_HOME")")\\$(basename "$ISABELLE_HOME")" ISABELLE_HOME="$(cygpath -u "$ISABELLE_HOME_WINDOWS")" - CLASSPATH="$(cygpath -i -u -p "$CLASSPATH")" function jvmpath() { cygpath -i -C UTF8 -w -p "$@"; } CYGWIN_ROOT="$(jvmpath "/")" + + ISABELLE_CLASSPATH="$(cygpath -i -u -p "$CLASSPATH")" + unset CLASSPATH else if [ -z "$USER_HOME" ]; then USER_HOME="$HOME" fi function jvmpath() { echo "$@"; } - CLASSPATH="$CLASSPATH" + + ISABELLE_CLASSPATH="$CLASSPATH" + unset CLASSPATH fi export ISABELLE_HOME @@ -122,18 +126,18 @@ function isabelle_admin_build () { return 0; } fi -#CLASSPATH convenience +#classpath function classpath () { for X in "$@" do - if [ -z "$CLASSPATH" ]; then - CLASSPATH="$X" + if [ -z "$ISABELLE_CLASSPATH" ]; then + ISABELLE_CLASSPATH="$X" else - CLASSPATH="$X:$CLASSPATH" + ISABELLE_CLASSPATH="$X:$ISABELLE_CLASSPATH" fi done - export CLASSPATH + export ISABELLE_CLASSPATH } #arrays diff -r df79aa33bb74 -r 793a429c63e7 src/Doc/System/Scala.thy --- a/src/Doc/System/Scala.thy Wed Sep 11 23:32:47 2013 +0200 +++ b/src/Doc/System/Scala.thy Thu Sep 12 13:23:54 2013 +0200 @@ -61,10 +61,10 @@ This allows to compile further Scala modules, depending on existing Isabelle/Scala functionality. The resulting class or jar files can - be added to the @{setting CLASSPATH} via the @{verbatim classpath} - Bash function that is provided by the Isabelle process environment. - Thus add-on components can register themselves in a modular manner, - see also \secref{sec:components}. + be added to the Java classpath the @{verbatim classpath} Bash + function that is provided by the Isabelle process environment. Thus + add-on components can register themselves in a modular manner, see + also \secref{sec:components}. Note that jEdit (\secref{sec:tool-jedit}) has its own mechanisms for adding plugin components, which needs special attention since diff -r df79aa33bb74 -r 793a429c63e7 src/Pure/build-jars --- a/src/Pure/build-jars Wed Sep 11 23:32:47 2013 +0200 +++ b/src/Pure/build-jars Thu Sep 12 13:23:54 2013 +0200 @@ -140,15 +140,6 @@ [ "$#" -ne 0 ] && usage -## dependencies - -declare -a JFREECHART_JARS=() -for NAME in $JFREECHART_JAR_NAMES -do - JFREECHART_JARS["${#JFREECHART_JARS[@]}"]="$JFREECHART_HOME/lib/$NAME" -done - - ## build TARGET_DIR="$ISABELLE_HOME/lib/classes" @@ -203,14 +194,10 @@ SCALAC_OPTIONS="$ISABELLE_SCALA_BUILD_OPTIONS -d classes" - JFXRT="$ISABELLE_JDK_HOME/jre/lib/jfxrt.jar" - ( - for X in "$JFXRT" "${JFREECHART_JARS[@]}" "$XZ_JAVA_HOME/lib/xz.jar" classes - do - CLASSPATH="$CLASSPATH:$X" - done - CLASSPATH="$(jvmpath "$CLASSPATH")" + classpath "$ISABELLE_JDK_HOME/jre/lib/jfxrt.jar" + classpath classes + export CLASSPATH="$(jvmpath "$ISABELLE_CLASSPATH")" if [ "$TEST_PIDE" = true ]; then isabelle_scala scalac $SCALAC_OPTIONS "${PIDE_SOURCES[@]}" || \ diff -r df79aa33bb74 -r 793a429c63e7 src/Tools/Graphview/lib/Tools/graphview --- a/src/Tools/Graphview/lib/Tools/graphview Wed Sep 11 23:32:47 2013 +0200 +++ b/src/Tools/Graphview/lib/Tools/graphview Thu Sep 12 13:23:54 2013 +0200 @@ -143,8 +143,8 @@ function stty() { :; } export -f stty - CLASSPATH="$CLASSPATH:$PURE_JAR" - CLASSPATH="$(jvmpath "$CLASSPATH")" + classpath "$PURE_JAR" + export CLASSPATH="$(jvmpath "$ISABELLE_CLASSPATH")" exec "$SCALA_HOME/bin/scalac" $ISABELLE_SCALA_BUILD_OPTIONS -d classes "${SOURCES[@]}" ) || fail "Failed to compile sources" diff -r df79aa33bb74 -r 793a429c63e7 src/Tools/jEdit/lib/Tools/jedit --- a/src/Tools/jEdit/lib/Tools/jedit Wed Sep 11 23:32:47 2013 +0200 +++ b/src/Tools/jEdit/lib/Tools/jedit Thu Sep 12 13:23:54 2013 +0200 @@ -216,12 +216,6 @@ "$ISABELLE_JEDIT_BUILD_HOME/contrib/jsr305-2.0.0.jar" ) -declare -a JFREECHART_JARS=() -for NAME in $JFREECHART_JAR_NAMES -do - JFREECHART_JARS["${#JFREECHART_JARS[@]}"]="$JFREECHART_HOME/lib/$NAME" -done - # target @@ -238,8 +232,8 @@ else if [ -n "$ISABELLE_JEDIT_BUILD_HOME" ]; then declare -a DEPS=( - "$JEDIT_JAR" "${JEDIT_JARS[@]}" "${JFREECHART_JARS[@]}" "$XZ_JAVA_HOME/lib/xz.jar" - "$PURE_JAR" "$GRAPHVIEW_JAR" "${SOURCES[@]}" "${RESOURCES[@]}" + "$JEDIT_JAR" "${JEDIT_JARS[@]}" "$PURE_JAR" "$GRAPHVIEW_JAR" + "${SOURCES[@]}" "${RESOURCES[@]}" ) elif [ -e "$ISABELLE_HOME/Admin/build" ]; then declare -a DEPS=("$PURE_JAR" "$GRAPHVIEW_JAR" "${SOURCES[@]}" "${RESOURCES[@]}") @@ -297,12 +291,11 @@ function stty() { :; } export -f stty - for JAR in "$JEDIT_JAR" "${JEDIT_JARS[@]}" "${JFREECHART_JARS[@]}" \ - "$XZ_JAVA_HOME/lib/xz.jar" "$PURE_JAR" "$GRAPHVIEW_JAR" "$SCALA_HOME/lib/scala-compiler.jar" + for JAR in "$JEDIT_JAR" "${JEDIT_JARS[@]}" "$PURE_JAR" "$GRAPHVIEW_JAR" do - CLASSPATH="$CLASSPATH:$JAR" + classpath "$JAR" done - CLASSPATH="$(jvmpath "$CLASSPATH")" + export CLASSPATH="$(jvmpath "$ISABELLE_CLASSPATH")" exec "$SCALA_HOME/bin/scalac" $ISABELLE_SCALA_BUILD_OPTIONS -d dist/classes "${SOURCES[@]}" ) || fail "Failed to compile sources" @@ -317,9 +310,9 @@ ## main -if [ "$BUILD_ONLY" = false ]; then +if [ "$BUILD_ONLY" = false ] +then export JEDIT_SESSION_DIRS JEDIT_LOGIC JEDIT_PRINT_MODE JEDIT_BUILD_MODE - - exec "$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" \ - -classpath "$(jvmpath "$JEDIT_HOME/dist/jedit.jar")" isabelle.Main "${ARGS[@]}" + classpath "$JEDIT_HOME/dist/jedit.jar" + exec "$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" isabelle.Main "${ARGS[@]}" fi