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;
--- 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
--- 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
--- 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)
--- 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")" "$@"
--- 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")" "$@"
+
--- 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")" "$@"
--- 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
--- 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
--- 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[@]}" || \
--- 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"
--- 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