# HG changeset patch # User wenzelm # Date 1354825006 -3600 # Node ID 366c4a6025007f927ca64d78282467682de6deca # Parent 898cac1dad5eb2d4f49f5d74900cc874a68375ed clarified build_dialog: regular up-to-date check (extra cost of approx. 5s startup for HOL); added jedit option -n to bypass build_dialog; diff -r 898cac1dad5e -r 366c4a602500 lib/Tools/build_dialog --- a/lib/Tools/build_dialog Thu Dec 06 20:26:14 2012 +0100 +++ b/lib/Tools/build_dialog Thu Dec 06 21:16:46 2012 +0100 @@ -15,7 +15,6 @@ echo "Usage: isabelle $PRG [OPTIONS] LOGIC" echo echo " Options are:" - echo " -C check for existing image" echo " -L OPTION default logic via system option" echo " -d DIR include session directory" echo " -s system build mode: produce output in ISABELLE_HOME" @@ -34,17 +33,13 @@ ## process command line -CHECK_EXISTING=false LOGIC_OPTION="" declare -a INCLUDE_DIRS=() SYSTEM_MODE=false -while getopts "CL:d:s" OPT +while getopts "L:d:s" OPT do case "$OPT" in - C) - CHECK_EXISTING="true" - ;; L) LOGIC_OPTION="$OPTARG" ;; @@ -75,5 +70,5 @@ [ -e "$ISABELLE_HOME/Admin/build" ] && { "$ISABELLE_HOME/Admin/build" jars || exit $?; } "$ISABELLE_TOOL" java isabelle.Build_Dialog \ - "$CHECK_EXISTING" "$LOGIC_OPTION" "$SYSTEM_MODE" "$LOGIC" "${INCLUDE_DIRS[@]}" + "$LOGIC_OPTION" "$SYSTEM_MODE" "$LOGIC" "${INCLUDE_DIRS[@]}" diff -r 898cac1dad5e -r 366c4a602500 src/Pure/System/build_dialog.scala --- a/src/Pure/System/build_dialog.scala Thu Dec 06 20:26:14 2012 +0100 +++ b/src/Pure/System/build_dialog.scala Thu Dec 06 21:16:46 2012 +0100 @@ -21,29 +21,24 @@ try { args.toList match { case - Properties.Value.Boolean(check_existing) :: logic_option :: Properties.Value.Boolean(system_mode) :: logic :: include_dirs => - val dirs = include_dirs.map(Path.explode) + val more_dirs = include_dirs.map(s => ((false, Path.explode(s)))) val options = Options.init() val session = Isabelle_System.default_logic(logic, if (logic_option != "") options.string(logic_option) else "") - val no_dialog = // FIXME full up-to-date test!? - check_existing && - Isabelle_System.find_logics_dirs().exists(dir => - (dir + Path.basic(session)).is_file) - - if (no_dialog) sys.exit(0) + if (Build.build(Build.Ignore_Progress, options, no_build = true, + more_dirs = more_dirs, sessions = List(session)) == 0) sys.exit(0) else Swing_Thread.later { Platform.init_laf() - val top = build_dialog(options, system_mode, dirs, session) + val top = build_dialog(options, system_mode, more_dirs, session) top.pack() val point = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint() @@ -66,7 +61,7 @@ def build_dialog( options: Options, system_mode: Boolean, - dirs: List[Path], + more_dirs: List[(Boolean, Path)], session: String): MainFrame = new MainFrame { /* GUI state */ @@ -126,7 +121,7 @@ val (out, rc) = try { ("", - Build.build(progress, options, build_heap = true, more_dirs = dirs.map((false, _)), + Build.build(progress, options, build_heap = true, more_dirs = more_dirs, system_mode = system_mode, sessions = List(session))) } catch { case exn: Throwable => (Exn.message(exn) + "\n", 2) } diff -r 898cac1dad5e -r 366c4a602500 src/Tools/jEdit/lib/Tools/jedit --- a/src/Tools/jEdit/lib/Tools/jedit Thu Dec 06 20:26:14 2012 +0100 +++ b/src/Tools/jEdit/lib/Tools/jedit Thu Dec 06 21:16:46 2012 +0100 @@ -70,6 +70,7 @@ echo " (default JEDIT_OPTIONS=$JEDIT_OPTIONS)" echo " -l NAME logic session name" echo " -m MODE add print mode for output" + echo " -n no build dialog for session image on startup" echo " -s system build mode for session image" echo echo "Start jEdit with Isabelle plugin setup and opens theory FILES" @@ -101,11 +102,12 @@ JEDIT_SESSION_DIRS="" JEDIT_LOGIC="" JEDIT_PRINT_MODE="" +NO_BUILD="false" function getoptions() { OPTIND=1 - while getopts "J:bd:fj:l:m:s" OPT + while getopts "J:bd:fj:l:m:ns" OPT do case "$OPT" in J) @@ -139,6 +141,9 @@ JEDIT_PRINT_MODE="$JEDIT_PRINT_MODE,$OPTARG" fi ;; + n) + NO_BUILD="true" + ;; s) BUILD_DIALOG_OPTIONS["${#BUILD_DIALOG_OPTIONS[@]}"]="-s" ;; @@ -313,9 +318,11 @@ # build logic -"$ISABELLE_TOOL" build_dialog "${BUILD_DIALOG_OPTIONS[@]}" -C -L jedit_logic "$JEDIT_LOGIC" -RC="$?" -[ "$RC" = 0 ] || exit "$RC" +if [ "$NO_BUILD" = false ]; then + "$ISABELLE_TOOL" build_dialog "${BUILD_DIALOG_OPTIONS[@]}" -L jedit_logic "$JEDIT_LOGIC" + RC="$?" + [ "$RC" = 0 ] || exit "$RC" +fi # main