diff --git a/src/Pure/build-jars b/src/Pure/build-jars
--- a/src/Pure/build-jars
+++ b/src/Pure/build-jars
@@ -1,305 +1,305 @@
#!/usr/bin/env bash
#
# Author: Makarius
#
# build-jars - build Isabelle/Scala
#
# Requires proper Isabelle settings environment.
## sources
declare -a SOURCES=(
src/Pure/Admin/afp.scala
src/Pure/Admin/build_cygwin.scala
src/Pure/Admin/build_doc.scala
src/Pure/Admin/build_fonts.scala
src/Pure/Admin/build_history.scala
src/Pure/Admin/build_jdk.scala
src/Pure/Admin/build_log.scala
src/Pure/Admin/build_polyml.scala
src/Pure/Admin/build_release.scala
src/Pure/Admin/build_status.scala
src/Pure/Admin/check_sources.scala
src/Pure/Admin/ci_profile.scala
src/Pure/Admin/components.scala
src/Pure/Admin/isabelle_cronjob.scala
src/Pure/Admin/isabelle_devel.scala
src/Pure/Admin/jenkins.scala
src/Pure/Admin/other_isabelle.scala
src/Pure/Concurrent/consumer_thread.scala
src/Pure/Concurrent/counter.scala
src/Pure/Concurrent/event_timer.scala
src/Pure/Concurrent/future.scala
src/Pure/Concurrent/mailbox.scala
src/Pure/Concurrent/par_list.scala
src/Pure/Concurrent/standard_thread.scala
src/Pure/Concurrent/synchronized.scala
src/Pure/GUI/color_value.scala
src/Pure/GUI/gui.scala
src/Pure/GUI/gui_thread.scala
src/Pure/GUI/popup.scala
src/Pure/GUI/wrap_panel.scala
src/Pure/General/antiquote.scala
src/Pure/General/bytes.scala
src/Pure/General/cache.scala
src/Pure/General/codepoint.scala
src/Pure/General/comment.scala
src/Pure/General/completion.scala
src/Pure/General/csv.scala
src/Pure/General/date.scala
src/Pure/General/exn.scala
src/Pure/General/file.scala
src/Pure/General/file_watcher.scala
src/Pure/General/graph.scala
src/Pure/General/graph_display.scala
src/Pure/General/graphics_file.scala
src/Pure/General/http.scala
src/Pure/General/json.scala
src/Pure/General/linear_set.scala
src/Pure/General/logger.scala
src/Pure/General/long_name.scala
src/Pure/General/mercurial.scala
src/Pure/General/multi_map.scala
src/Pure/General/output.scala
src/Pure/General/path.scala
src/Pure/General/position.scala
src/Pure/General/pretty.scala
src/Pure/General/properties.scala
src/Pure/General/rdf.scala
src/Pure/General/scan.scala
src/Pure/General/sha1.scala
src/Pure/General/sql.scala
src/Pure/General/ssh.scala
src/Pure/General/symbol.scala
src/Pure/General/time.scala
src/Pure/General/timing.scala
src/Pure/General/untyped.scala
src/Pure/General/url.scala
src/Pure/General/utf8.scala
src/Pure/General/uuid.scala
src/Pure/General/value.scala
src/Pure/General/word.scala
src/Pure/General/xz.scala
src/Pure/Isar/document_structure.scala
src/Pure/Isar/keyword.scala
src/Pure/Isar/line_structure.scala
src/Pure/Isar/outer_syntax.scala
src/Pure/Isar/parse.scala
src/Pure/Isar/token.scala
src/Pure/ML/ml_console.scala
src/Pure/ML/ml_lex.scala
src/Pure/ML/ml_process.scala
src/Pure/ML/ml_statistics.scala
src/Pure/ML/ml_syntax.scala
src/Pure/PIDE/byte_message.scala
src/Pure/PIDE/command.scala
src/Pure/PIDE/command_span.scala
src/Pure/PIDE/document.scala
src/Pure/PIDE/document_id.scala
src/Pure/PIDE/document_status.scala
src/Pure/PIDE/editor.scala
src/Pure/PIDE/headless.scala
src/Pure/PIDE/line.scala
src/Pure/PIDE/markup.scala
src/Pure/PIDE/markup_tree.scala
src/Pure/PIDE/protocol.scala
src/Pure/PIDE/protocol_handlers.scala
src/Pure/PIDE/protocol_message.scala
src/Pure/PIDE/prover.scala
src/Pure/PIDE/query_operation.scala
src/Pure/PIDE/rendering.scala
src/Pure/PIDE/resources.scala
src/Pure/PIDE/session.scala
src/Pure/PIDE/text.scala
src/Pure/PIDE/xml.scala
src/Pure/PIDE/yxml.scala
src/Pure/ROOT.scala
src/Pure/System/bash.scala
src/Pure/System/command_line.scala
src/Pure/System/cygwin.scala
src/Pure/System/distribution.scala
src/Pure/System/getopts.scala
src/Pure/System/invoke_scala.scala
src/Pure/System/isabelle_charset.scala
src/Pure/System/isabelle_fonts.scala
src/Pure/System/isabelle_process.scala
src/Pure/System/isabelle_system.scala
src/Pure/System/isabelle_tool.scala
src/Pure/System/linux.scala
src/Pure/System/numa.scala
src/Pure/System/options.scala
src/Pure/System/platform.scala
src/Pure/System/posix_interrupt.scala
src/Pure/System/process_result.scala
src/Pure/System/progress.scala
src/Pure/System/system_channel.scala
src/Pure/System/tty_loop.scala
src/Pure/Thy/bibtex.scala
src/Pure/Thy/export.scala
src/Pure/Thy/export_theory.scala
src/Pure/Thy/file_format.scala
src/Pure/Thy/html.scala
src/Pure/Thy/latex.scala
src/Pure/Thy/present.scala
src/Pure/Thy/sessions.scala
src/Pure/Thy/thy_element.scala
src/Pure/Thy/thy_header.scala
src/Pure/Thy/thy_syntax.scala
src/Pure/Tools/build.scala
src/Pure/Tools/build_docker.scala
src/Pure/Tools/check_keywords.scala
src/Pure/Tools/debugger.scala
src/Pure/Tools/doc.scala
src/Pure/Tools/dump.scala
src/Pure/Tools/fontforge.scala
src/Pure/Tools/main.scala
src/Pure/Tools/mkroot.scala
src/Pure/Tools/phabricator.scala
src/Pure/Tools/print_operation.scala
src/Pure/Tools/profiling_report.scala
src/Pure/Tools/server.scala
src/Pure/Tools/server_commands.scala
src/Pure/Tools/simplifier_trace.scala
src/Pure/Tools/spell_checker.scala
src/Pure/Tools/task_statistics.scala
src/Pure/Tools/update.scala
src/Pure/Tools/update_cartouches.scala
src/Pure/Tools/update_comments.scala
src/Pure/Tools/update_header.scala
src/Pure/Tools/update_then.scala
src/Pure/Tools/update_theorems.scala
src/Pure/library.scala
src/Pure/pure_thy.scala
src/Pure/term.scala
src/Pure/term_xml.scala
src/Pure/thm_name.scala
src/Tools/Graphview/graph_file.scala
src/Tools/Graphview/graph_panel.scala
src/Tools/Graphview/graphview.scala
src/Tools/Graphview/layout.scala
src/Tools/Graphview/main_panel.scala
src/Tools/Graphview/metrics.scala
src/Tools/Graphview/model.scala
src/Tools/Graphview/mutator.scala
src/Tools/Graphview/mutator_dialog.scala
src/Tools/Graphview/mutator_event.scala
src/Tools/Graphview/popups.scala
src/Tools/Graphview/shapes.scala
src/Tools/Graphview/tree_panel.scala
src/Tools/VSCode/src/build_vscode.scala
src/Tools/VSCode/src/channel.scala
src/Tools/VSCode/src/document_model.scala
src/Tools/VSCode/src/dynamic_output.scala
src/Tools/VSCode/src/grammar.scala
src/Tools/VSCode/src/preview_panel.scala
src/Tools/VSCode/src/protocol.scala
src/Tools/VSCode/src/server.scala
src/Tools/VSCode/src/state_panel.scala
src/Tools/VSCode/src/vscode_javascript.scala
src/Tools/VSCode/src/vscode_rendering.scala
src/Tools/VSCode/src/vscode_resources.scala
src/Tools/VSCode/src/vscode_spell_checker.scala
)
## diagnostics
PRG="$(basename "$0")"
function usage()
{
echo
echo "Usage: isabelle $PRG [OPTIONS]"
echo
echo " Options are:"
echo " -f fresh build"
echo
exit 1
}
function fail()
{
echo "$1" >&2
exit 2
}
[ -z "$ISABELLE_HOME" ] && fail "Missing Isabelle settings environment"
## process command line
# options
FRESH=""
while getopts "f" OPT
do
case "$OPT" in
f)
FRESH=true
;;
\?)
usage
;;
esac
done
shift $(($OPTIND - 1))
# args
[ "$#" -ne 0 ] && usage
## target
TARGET_DIR="lib/classes"
TARGET_JAR="$TARGET_DIR/Pure.jar"
TARGET_SHASUM="$TARGET_DIR/Pure.shasum"
function target_shasum()
{
shasum -a1 -b "$TARGET_JAR" "${SOURCES[@]}" 2>/dev/null
}
function target_clean()
{
rm -rf "$TARGET_DIR"
}
[ -n "$FRESH" ] && target_clean
## build
-target_shasum | cmp "$TARGET_SHASUM" 2>/dev/null
+target_shasum | cmp "$TARGET_SHASUM" >/dev/null 2>/dev/null
if [ "$?" -ne 0 ]; then
echo "### Building Isabelle/Scala ..."
target_clean
BUILD_DIR="$TARGET_DIR/build"
mkdir -p "$BUILD_DIR"
(
export CLASSPATH="$(platform_path "$ISABELLE_CLASSPATH")"
isabelle_scala scalac $ISABELLE_SCALAC_OPTIONS \
-d "$BUILD_DIR" "${SOURCES[@]}"
) || fail "Failed to compile sources"
CHARSET_SERVICE="META-INF/services/java.nio.charset.spi.CharsetProvider"
mkdir -p "$BUILD_DIR/$(dirname "$CHARSET_SERVICE")"
echo isabelle.Isabelle_Charset_Provider > "$BUILD_DIR/$CHARSET_SERVICE"
cp "$ISABELLE_HOME/lib/logo/isabelle_transparent-32.gif" "$BUILD_DIR/isabelle/."
cp "$ISABELLE_HOME/lib/logo/isabelle_transparent.gif" "$BUILD_DIR/isabelle/."
isabelle_jdk jar -c -f "$(platform_path "$TARGET_JAR")" -e isabelle.Main \
-C "$BUILD_DIR" META-INF \
-C "$BUILD_DIR" isabelle || fail "Failed to produce $TARGET_JAR"
rm -rf "$BUILD_DIR"
target_shasum > "$TARGET_SHASUM"
fi
diff --git a/src/Tools/jEdit/lib/Tools/jedit b/src/Tools/jEdit/lib/Tools/jedit
--- a/src/Tools/jEdit/lib/Tools/jedit
+++ b/src/Tools/jEdit/lib/Tools/jedit
@@ -1,417 +1,417 @@
#!/usr/bin/env bash
#
# Author: Makarius
#
# DESCRIPTION: Isabelle/jEdit interface wrapper
## sources
declare -a SOURCES0=(
"src/Tools/jEdit/src-base/dockable.scala"
"src/Tools/jEdit/src-base/isabelle_encoding.scala"
"src/Tools/jEdit/src-base/jedit_lib.scala"
"src/Tools/jEdit/src-base/pide_docking_framework.scala"
"src/Tools/jEdit/src-base/plugin.scala"
"src/Tools/jEdit/src-base/syntax_style.scala"
)
declare -a RESOURCES0=(
"src/Tools/jEdit/src-base/Isabelle_Base.props"
"src/Tools/jEdit/src-base/services.xml"
)
declare -a SOURCES=(
"src/Tools/jEdit/src/active.scala"
"src/Tools/jEdit/src/completion_popup.scala"
"src/Tools/jEdit/src/context_menu.scala"
"src/Tools/jEdit/src/debugger_dockable.scala"
"src/Tools/jEdit/src/document_model.scala"
"src/Tools/jEdit/src/document_view.scala"
"src/Tools/jEdit/src/documentation_dockable.scala"
"src/Tools/jEdit/src/fold_handling.scala"
"src/Tools/jEdit/src/font_info.scala"
"src/Tools/jEdit/src/graphview_dockable.scala"
"src/Tools/jEdit/src/info_dockable.scala"
"src/Tools/jEdit/src/isabelle.scala"
"src/Tools/jEdit/src/isabelle_encoding.scala"
"src/Tools/jEdit/src/isabelle_export.scala"
"src/Tools/jEdit/src/isabelle_options.scala"
"src/Tools/jEdit/src/isabelle_session.scala"
"src/Tools/jEdit/src/isabelle_sidekick.scala"
"src/Tools/jEdit/src/isabelle_vfs.scala"
"src/Tools/jEdit/src/jedit_bibtex.scala"
"src/Tools/jEdit/src/jedit_editor.scala"
"src/Tools/jEdit/src/jedit_lib.scala"
"src/Tools/jEdit/src/jedit_options.scala"
"src/Tools/jEdit/src/jedit_rendering.scala"
"src/Tools/jEdit/src/jedit_resources.scala"
"src/Tools/jEdit/src/jedit_sessions.scala"
"src/Tools/jEdit/src/jedit_spell_checker.scala"
"src/Tools/jEdit/src/keymap_merge.scala"
"src/Tools/jEdit/src/monitor_dockable.scala"
"src/Tools/jEdit/src/output_dockable.scala"
"src/Tools/jEdit/src/plugin.scala"
"src/Tools/jEdit/src/pretty_text_area.scala"
"src/Tools/jEdit/src/pretty_tooltip.scala"
"src/Tools/jEdit/src/process_indicator.scala"
"src/Tools/jEdit/src/protocol_dockable.scala"
"src/Tools/jEdit/src/query_dockable.scala"
"src/Tools/jEdit/src/raw_output_dockable.scala"
"src/Tools/jEdit/src/rich_text_area.scala"
"src/Tools/jEdit/src/scala_console.scala"
"src/Tools/jEdit/src/session_build.scala"
"src/Tools/jEdit/src/simplifier_trace_dockable.scala"
"src/Tools/jEdit/src/simplifier_trace_window.scala"
"src/Tools/jEdit/src/sledgehammer_dockable.scala"
"src/Tools/jEdit/src/state_dockable.scala"
"src/Tools/jEdit/src/symbols_dockable.scala"
"src/Tools/jEdit/src/syntax_style.scala"
"src/Tools/jEdit/src/syslog_dockable.scala"
"src/Tools/jEdit/src/text_overview.scala"
"src/Tools/jEdit/src/text_structure.scala"
"src/Tools/jEdit/src/theories_dockable.scala"
"src/Tools/jEdit/src/timing_dockable.scala"
"src/Tools/jEdit/src/token_markup.scala"
)
declare -a RESOURCES=(
"src/Tools/jEdit/src/actions.xml"
"src/Tools/jEdit/src/dockables.xml"
"src/Tools/jEdit/src/Isabelle.props"
"src/Tools/jEdit/src/jEdit.props"
"src/Tools/jEdit/src/services.xml"
"src/Tools/jEdit/src/modes/isabelle-ml.xml"
"src/Tools/jEdit/src/modes/isabelle-news.xml"
"src/Tools/jEdit/src/modes/isabelle-options.xml"
"src/Tools/jEdit/src/modes/isabelle-root.xml"
"src/Tools/jEdit/src/modes/isabelle.xml"
"src/Tools/jEdit/src/modes/sml.xml"
)
## diagnostics
PRG="$(basename "$0")"
function usage()
{
echo
echo "Usage: isabelle $PRG [OPTIONS] [FILES ...]"
echo
echo " Options are:"
echo " -A NAME ancestor session for options -R (default: parent)"
echo " -D NAME=X set JVM system property"
echo " -J OPTION add JVM runtime option"
echo " (default $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)"
echo " -R NAME build image with requirements from other sessions"
echo " -b build only"
echo " -d DIR include session directory"
echo " -f fresh build"
echo " -i NAME include session in name-space of theories"
echo " -j OPTION add jEdit runtime option"
echo " (default $JEDIT_OPTIONS)"
echo " -l NAME logic session name"
echo " -m MODE add print mode for output"
echo " -n no build of session image on startup"
echo " -p CMD ML process command prefix (process policy)"
echo " -s system build mode for session image (system_heaps=true)"
echo " -u user build mode for session image (system_heaps=false)"
echo
echo " Start jEdit with Isabelle plugin setup and open FILES"
echo " (default \"$USER_HOME/Scratch.thy\" or \":\" for empty buffer)."
echo
exit 1
}
function fail()
{
echo "$1" >&2
exit 2
}
function failed()
{
fail "Failed!"
}
## process command line
# options
BUILD_ONLY=false
FRESH_BUILD=""
ML_PROCESS_POLICY=""
JEDIT_LOGIC_ANCESTOR=""
JEDIT_LOGIC_REQUIREMENTS=""
JEDIT_INCLUDE_SESSIONS=""
JEDIT_SESSION_DIRS="-"
JEDIT_LOGIC=""
JEDIT_PRINT_MODE=""
JEDIT_NO_BUILD=""
JEDIT_BUILD_MODE="default"
function getoptions()
{
OPTIND=1
while getopts "A:BFD:J:R:bd:fi:j:l:m:np:su" OPT
do
case "$OPT" in
A)
JEDIT_LOGIC_ANCESTOR="$OPTARG"
;;
D)
JAVA_ARGS["${#JAVA_ARGS[@]}"]="-D$OPTARG"
;;
J)
JAVA_ARGS["${#JAVA_ARGS[@]}"]="$OPTARG"
;;
R)
JEDIT_LOGIC="$OPTARG"
JEDIT_LOGIC_REQUIREMENTS="true"
;;
b)
BUILD_ONLY=true
;;
d)
JEDIT_SESSION_DIRS="$JEDIT_SESSION_DIRS:$OPTARG"
;;
i)
if [ -z "$JEDIT_INCLUDE_SESSIONS" ]; then
JEDIT_INCLUDE_SESSIONS="$OPTARG"
else
JEDIT_INCLUDE_SESSIONS="$JEDIT_INCLUDE_SESSIONS:$OPTARG"
fi
;;
f)
FRESH_BUILD="true"
;;
j)
ARGS["${#ARGS[@]}"]="$OPTARG"
;;
l)
JEDIT_LOGIC="$OPTARG"
;;
m)
if [ -z "$JEDIT_PRINT_MODE" ]; then
JEDIT_PRINT_MODE="$OPTARG"
else
JEDIT_PRINT_MODE="$JEDIT_PRINT_MODE,$OPTARG"
fi
;;
n)
JEDIT_NO_BUILD="true"
;;
p)
ML_PROCESS_POLICY="$OPTARG"
;;
s)
JEDIT_BUILD_MODE="system"
;;
u)
JEDIT_BUILD_MODE="user"
;;
\?)
usage
;;
esac
done
}
eval "declare -a JAVA_ARGS=($JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)"
declare -a ARGS=()
declare -a OPTIONS; eval "OPTIONS=($ISABELLE_JEDIT_OPTIONS)"
getoptions "${OPTIONS[@]}"
getoptions "$@"
shift $(($OPTIND - 1))
# args
while [ "$#" -gt 0 ]; do
ARGS["${#ARGS[@]}"]="$(platform_path "$1")"
shift
done
## dependencies
if [ -e "$ISABELLE_HOME/Admin/build" ]; then
isabelle browser -b || exit $?
if [ -n "$FRESH_BUILD" ]; then
"$ISABELLE_HOME/Admin/build" jars_fresh || exit $?
else
"$ISABELLE_HOME/Admin/build" jars || exit $?
fi
elif [ -n "$FRESH_BUILD" ]; then
echo >&2 "### Ignoring fresh build option: not a repository clone"
FRESH_BUILD=""
fi
JEDIT_BUILD_JAR="$ISABELLE_JEDIT_BUILD_VERSION/jedit.jar"
declare -a JEDIT_BUILD_JARS=(
"Code2HTML.jar"
"CommonControls.jar"
"Console.jar"
"ErrorList.jar"
"Highlight.jar"
"kappalayout.jar"
"MacOSX.jar"
"Navigator.jar"
"SideKick.jar"
"idea-icons.jar"
"jsr305-2.0.0.jar"
)
# target
pushd "$ISABELLE_HOME" >/dev/null || failed
TARGET_DIR="src/Tools/jEdit/dist"
TARGET_JAR0="$TARGET_DIR/jars/Isabelle-jEdit-base.jar"
TARGET_JAR="$TARGET_DIR/jars/Isabelle-jEdit.jar"
TARGET_SHASUM="$TARGET_DIR/Isabelle-jEdit.shasum"
declare -a TARGET_DEPS=("lib/classes/Pure.jar" "$TARGET_DIR/jedit.jar")
for DEP in "${JEDIT_BUILD_JARS[@]}"
do
TARGET_DEPS["${#TARGET_DEPS[@]}"]="$TARGET_DIR/jars/$DEP"
done
function target_shasum()
(
shasum -a1 -b "$TARGET_JAR0" "$TARGET_JAR" "${TARGET_DEPS[@]}" \
"${SOURCES0[@]}" "${RESOURCES0[@]}" "${SOURCES[@]}" "${RESOURCES[@]}" 2>/dev/null
)
function target_clean()
{
rm -rf "$ISABELLE_HOME/$TARGET_DIR"
}
[ -n "$FRESH_BUILD" ] && target_clean
## build
BUILD_DIR="$TARGET_DIR/build"
function init_resources ()
{
mkdir -p "$BUILD_DIR" || failed
cp -p -R "$@" "$BUILD_DIR/."
}
function compile_sources()
{
(
#FIXME workarounds for scalac 2.11.0
export CYGWIN="nodosfilewarning"
function stty() { :; }
export -f stty
for DEP in "${TARGET_DEPS[@]}"
do
classpath "$DEP"
done
export CLASSPATH="$(platform_path "$ISABELLE_CLASSPATH")"
isabelle_scala scalac $ISABELLE_SCALAC_OPTIONS -d "$BUILD_DIR" "$@"
) || fail "Failed to compile sources"
}
function make_jar()
{
isabelle_jdk jar -c -f "$1" -C "$BUILD_DIR" . || failed
rm -rf "$ISABELLE_HOME/$BUILD_DIR"
}
-target_shasum | cmp "$TARGET_SHASUM" 2>/dev/null
+target_shasum | cmp "$TARGET_SHASUM" >/dev/null 2>/dev/null
if [ -e "$ISABELLE_HOME/Admin/build" -a "$?" -ne 0 ]; then
echo "### Building Isabelle/jEdit ..."
[ -z "$ISABELLE_JEDIT_BUILD_HOME" ] && \
fail "Unknown ISABELLE_JEDIT_BUILD_HOME -- missing auxiliary component"
target_clean || failed
mkdir -p "$TARGET_DIR" || failed
cp -p -R "$ISABELLE_JEDIT_BUILD_HOME/contrib/$ISABELLE_JEDIT_BUILD_VERSION/." "$TARGET_DIR/."
for DEP in "${JEDIT_BUILD_JARS[@]}"
do
cp -p "$ISABELLE_JEDIT_BUILD_HOME/contrib/$DEP" "$TARGET_DIR/jars/."
done
init_resources "${RESOURCES0[@]}"
compile_sources "${SOURCES0[@]}"
make_jar "$TARGET_JAR0"
classpath "$TARGET_JAR0"
init_resources "${RESOURCES[@]}"
cp src/Tools/jEdit/src/jEdit.props "$TARGET_DIR/properties/."
cp -p -R -f "src/Tools/jEdit/src/modes/." "$TARGET_DIR/modes/."
perl -i -e 'while (<>) {
if (m/FILE="ml.xml"/ or m/FILE_NAME_GLOB="...sml,ml."/ or m/FILE_NAME_GLOB="..ftl"/) { }
elsif (m/NAME="javacc"/) {
print qq!\n\n!;
print qq!\n\n!;
print qq!\n\n!;
print qq!\n\n!;
print qq!\n\n!;
print;
}
elsif (m/NAME="sqr"/) {
print qq!\n\n!;
print;
}
else { print; }
}' "$TARGET_DIR/modes/catalog"
(
cd "$TARGET_DIR"
isabelle_jdk jar -x -f jedit.jar
cp "$ISABELLE_HOME/lib/logo/isabelle_transparent-32.gif" \
"org/gjt/sp/jedit/icons/themes/classic/32x32/apps/isabelle.gif" || failed
cp "$ISABELLE_HOME/lib/logo/isabelle_transparent-32.gif" \
"org/gjt/sp/jedit/icons/themes/tango/32x32/apps/isabelle.gif" || failed
isabelle_jdk jar -c -f jedit.jar -e org.gjt.sp.jedit.jEdit org || failed
rm -rf META-INF org
)
compile_sources "${SOURCES[@]}"
make_jar "$TARGET_JAR"
target_shasum > "$TARGET_SHASUM"
cp "$ISABELLE_JEDIT_BUILD_HOME/doc/jedit5.5.0manual-a4.pdf" "$TARGET_DIR/doc/jedit-manual.pdf"
cp "$TARGET_DIR/doc/CHANGES.txt" "$TARGET_DIR/doc/jedit-changes"
cat > "$TARGET_DIR/doc/Contents" </dev/null
if [ "$BUILD_ONLY" = false ]
then
export JEDIT_SESSION_DIRS JEDIT_LOGIC JEDIT_LOGIC_ANCESTOR JEDIT_LOGIC_REQUIREMENTS \
JEDIT_INCLUDE_SESSIONS JEDIT_PRINT_MODE JEDIT_NO_BUILD JEDIT_BUILD_MODE
export JEDIT_ML_PROCESS_POLICY="$ML_PROCESS_POLICY"
classpath "$JEDIT_HOME/dist/jedit.jar"
exec isabelle java -splash:"$(platform_path "$ISABELLE_HOME/lib/logo/isabelle.gif")" \
"${JAVA_ARGS[@]}" isabelle.Main "${ARGS[@]}"
fi