| author | nipkow | 
| Sat, 23 Jul 2016 13:25:44 +0200 | |
| changeset 63538 | d7b5e2a222c2 | 
| parent 63288 | e0513d6e4916 | 
| child 63603 | 9d9ea2c6bc38 | 
| permissions | -rwxr-xr-x | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 1 | #!/usr/bin/env bash | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 2 | # | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 3 | # Author: Makarius | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 4 | # | 
| 42899 | 5 | # build-jars - build Isabelle/Scala | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 6 | # | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 7 | # Requires proper Isabelle settings environment. | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 8 | |
| 43320 | 9 | ## sources | 
| 10 | ||
| 11 | declare -a SOURCES=( | |
| 56695 
963732291084
consumer thread with unbounded queueing of requests (similar to Message_Channel in ML);
 wenzelm parents: 
56693diff
changeset | 12 | Concurrent/consumer_thread.scala | 
| 43660 | 13 | Concurrent/counter.scala | 
| 56768 | 14 | Concurrent/event_timer.scala | 
| 43320 | 15 | Concurrent/future.scala | 
| 56693 | 16 | Concurrent/mailbox.scala | 
| 59136 
c2b23cb8a677
added Par_List in Scala, in accordance to ML version;
 wenzelm parents: 
58928diff
changeset | 17 | Concurrent/par_list.scala | 
| 61556 | 18 | Concurrent/standard_thread.scala | 
| 56685 | 19 | Concurrent/synchronized.scala | 
| 57647 | 20 | GUI/color_value.scala | 
| 21 | GUI/gui.scala | |
| 22 | GUI/gui_thread.scala | |
| 23 | GUI/html5_panel.scala | |
| 57908 
1937603dbdf2
separate Java FX modules -- no need to include jfxrt.jar by default;
 wenzelm parents: 
57905diff
changeset | 24 | GUI/jfx_gui.scala | 
| 57647 | 25 | GUI/popup.scala | 
| 26 | GUI/wrap_panel.scala | |
| 55511 
984e210d412e
antiquotations within plain text: Scala version in accordance to ML;
 wenzelm parents: 
55497diff
changeset | 27 | General/antiquote.scala | 
| 54439 | 28 | General/bytes.scala | 
| 55673 
0286219c1261
clarified module location (again, see 763d35697338);
 wenzelm parents: 
55511diff
changeset | 29 | General/completion.scala | 
| 62508 
d0b68218ea55
discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
 wenzelm parents: 
62452diff
changeset | 30 | General/exn.scala | 
| 48411 
5b3440850d36
more abstract file system operations in Scala, corresponding to ML version;
 wenzelm parents: 
48410diff
changeset | 31 | General/file.scala | 
| 46611 | 32 | General/graph.scala | 
| 59244 
19b5fc4b2b38
more uniform support for graph display in ML/Scala;
 wenzelm parents: 
59232diff
changeset | 33 | General/graph_display.scala | 
| 51098 | 34 | General/graphics_file.scala | 
| 43320 | 35 | General/linear_set.scala | 
| 56800 | 36 | General/long_name.scala | 
| 52975 | 37 | General/multi_map.scala | 
| 56782 
433cf57550fa
more systematic Isabelle output, like in classic Isabelle/ML (without markup);
 wenzelm parents: 
56768diff
changeset | 38 | General/output.scala | 
| 43600 
4ac04bf9ff89
abstract algebra of file paths in Scala (cf. path.ML);
 wenzelm parents: 
43523diff
changeset | 39 | General/path.scala | 
| 43320 | 40 | General/position.scala | 
| 41 | General/pretty.scala | |
| 43780 | 42 | General/properties.scala | 
| 43320 | 43 | General/scan.scala | 
| 44 | General/sha1.scala | |
| 45 | General/symbol.scala | |
| 45674 | 46 | General/time.scala | 
| 45666 | 47 | General/timing.scala | 
| 57647 | 48 | General/untyped.scala | 
| 56501 
5fda9e5c5874
basic URL operations (with Isabelle/Scala error handling);
 wenzelm parents: 
56429diff
changeset | 49 | General/url.scala | 
| 56599 | 50 | General/word.scala | 
| 52671 
9a360530eac8
separate module XZ_File to avoid initial dependency on org.tukaani.xz;
 wenzelm parents: 
52667diff
changeset | 51 | General/xz_file.scala | 
| 43320 | 52 | Isar/keyword.scala | 
| 53 | Isar/outer_syntax.scala | |
| 54 | Isar/parse.scala | |
| 55 | Isar/token.scala | |
| 55497 | 56 | ML/ml_lex.scala | 
| 62528 | 57 | ML/ml_syntax.scala | 
| 59362 | 58 | PIDE/batch_session.scala | 
| 43320 | 59 | PIDE/command.scala | 
| 57905 
c0c5652e796e
separate module Command_Span: mostly syntactic representation;
 wenzelm parents: 
57900diff
changeset | 60 | PIDE/command_span.scala | 
| 43320 | 61 | PIDE/document.scala | 
| 52530 
99dd8b4ef3fe
explicit module Document_ID as source of globally unique identifiers across ML/Scala;
 wenzelm parents: 
52444diff
changeset | 62 | PIDE/document_id.scala | 
| 52971 
31926d2c04ee
tuned signature -- more abstract PIDE editor operations;
 wenzelm parents: 
52671diff
changeset | 63 | PIDE/editor.scala | 
| 45670 | 64 | PIDE/markup.scala | 
| 43320 | 65 | PIDE/markup_tree.scala | 
| 45709 
87017fcbad83
clarified modules (again) -- NB: both Document and Protocol are specific to this particular prover;
 wenzelm parents: 
45674diff
changeset | 66 | PIDE/protocol.scala | 
| 59713 | 67 | PIDE/protocol_message.scala | 
| 56385 | 68 | PIDE/prover.scala | 
| 52981 | 69 | PIDE/query_operation.scala | 
| 56208 | 70 | PIDE/resources.scala | 
| 56210 | 71 | PIDE/session.scala | 
| 43320 | 72 | PIDE/text.scala | 
| 44698 | 73 | PIDE/xml.scala | 
| 74 | PIDE/yxml.scala | |
| 57647 | 75 | ROOT.scala | 
| 62584 | 76 | System/bash.scala | 
| 61925 | 77 | System/command_line.scala | 
| 61282 | 78 | System/cygwin.scala | 
| 62845 | 79 | System/distribution.scala | 
| 62431 | 80 | System/getopts.scala | 
| 43744 
2c7e1565b4a3
some support to invoke Scala methods under program control;
 wenzelm parents: 
43730diff
changeset | 81 | System/invoke_scala.scala | 
| 43517 | 82 | System/isabelle_charset.scala | 
| 43320 | 83 | System/isabelle_process.scala | 
| 84 | System/isabelle_system.scala | |
| 62829 
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
 wenzelm parents: 
62631diff
changeset | 85 | System/isabelle_tool.scala | 
| 48365 
d88aefda01c4
basic support for stand-alone options with external string representation;
 wenzelm parents: 
48346diff
changeset | 86 | System/options.scala | 
| 43320 | 87 | System/platform.scala | 
| 56860 | 88 | System/posix_interrupt.scala | 
| 62400 | 89 | System/process_result.scala | 
| 61276 | 90 | System/progress.scala | 
| 45027 
f459e93a038e
more abstract wrapping of fifos as System_Channel;
 wenzelm parents: 
44698diff
changeset | 91 | System/system_channel.scala | 
| 50203 | 92 | System/utf8.scala | 
| 43320 | 93 | Thy/html.scala | 
| 50707 
5b2bf7611662
maintain session index on Scala side, for more determistic results;
 wenzelm parents: 
50689diff
changeset | 94 | Thy/present.scala | 
| 62631 | 95 | Thy/sessions.scala | 
| 43320 | 96 | Thy/thy_header.scala | 
| 43651 
511df47bcadc
some support for theory files within Isabelle/Scala session;
 wenzelm parents: 
43600diff
changeset | 97 | Thy/thy_info.scala | 
| 43320 | 98 | Thy/thy_syntax.scala | 
| 58523 | 99 | Tools/bibtex.scala | 
| 57647 | 100 | Tools/build.scala | 
| 101 | Tools/build_doc.scala | |
| 59891 
9ce697050455
added isabelle build option -k, for fast off-line checking of theory sources;
 wenzelm parents: 
59713diff
changeset | 102 | Tools/check_keywords.scala | 
| 62452 | 103 | Tools/check_sources.scala | 
| 63288 
e0513d6e4916
start moving actual Jenkins build scripts into the repository
 Lars Hupel <lars.hupel@mytum.de> parents: 
62902diff
changeset | 104 | Tools/ci_profile.scala | 
| 60749 | 105 | Tools/debugger.scala | 
| 52444 
2cfe6656d6d6
slightly improved "isabelle doc" based on Isabelle/Scala;
 wenzelm parents: 
52439diff
changeset | 106 | Tools/doc.scala | 
| 50687 | 107 | Tools/main.scala | 
| 62559 | 108 | Tools/ml_console.scala | 
| 62586 | 109 | Tools/ml_process.scala | 
| 50981 | 110 | Tools/ml_statistics.scala | 
| 62114 
a7cf464933f7
generate HTML version of NEWS, with proper symbol rendering;
 wenzelm parents: 
61925diff
changeset | 111 | Tools/news.scala | 
| 56864 | 112 | Tools/print_operation.scala | 
| 54730 | 113 | Tools/simplifier_trace.scala | 
| 50980 | 114 | Tools/task_statistics.scala | 
| 58610 | 115 | Tools/update_cartouches.scala | 
| 58872 | 116 | Tools/update_header.scala | 
| 61216 | 117 | Tools/update_then.scala | 
| 61337 | 118 | Tools/update_theorems.scala | 
| 43320 | 119 | library.scala | 
| 43730 
a0ed7bc688b5
lambda terms with XML data representation in Scala;
 wenzelm parents: 
43715diff
changeset | 120 | term.scala | 
| 43779 | 121 | term_xml.scala | 
| 59441 | 122 | "../Tools/Graphview/graph_file.scala" | 
| 59202 | 123 | "../Tools/Graphview/graph_panel.scala" | 
| 59459 | 124 | "../Tools/Graphview/graphview.scala" | 
| 59232 | 125 | "../Tools/Graphview/layout.scala" | 
| 59202 | 126 | "../Tools/Graphview/main_panel.scala" | 
| 59290 | 127 | "../Tools/Graphview/metrics.scala" | 
| 59202 | 128 | "../Tools/Graphview/model.scala" | 
| 59392 | 129 | "../Tools/Graphview/mutator.scala" | 
| 59202 | 130 | "../Tools/Graphview/mutator_dialog.scala" | 
| 131 | "../Tools/Graphview/mutator_event.scala" | |
| 132 | "../Tools/Graphview/popups.scala" | |
| 133 | "../Tools/Graphview/shapes.scala" | |
| 59392 | 134 | "../Tools/Graphview/tree_panel.scala" | 
| 43320 | 135 | ) | 
| 136 | ||
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 137 | |
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 138 | ## diagnostics | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 139 | |
| 43280 | 140 | PRG="$(basename "$0")" | 
| 141 | ||
| 142 | function usage() | |
| 143 | {
 | |
| 144 | echo | |
| 145 | echo "Usage: isabelle $PRG [OPTIONS]" | |
| 146 | echo | |
| 147 | echo " Options are:" | |
| 148 | echo " -f fresh build" | |
| 47408 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 149 | echo " -t test separate compilation of PIDE" | 
| 43280 | 150 | echo | 
| 151 | exit 1 | |
| 152 | } | |
| 153 | ||
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 154 | function fail() | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 155 | {
 | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 156 | echo "$1" >&2 | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 157 | exit 2 | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 158 | } | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 159 | |
| 42899 | 160 | [ -z "$ISABELLE_HOME" ] && fail "Missing Isabelle settings environment" | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 161 | |
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 162 | |
| 43280 | 163 | ## process command line | 
| 164 | ||
| 165 | # options | |
| 166 | ||
| 167 | FRESH="" | |
| 47408 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 168 | TEST_PIDE="" | 
| 43280 | 169 | |
| 47408 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 170 | while getopts "ft" OPT | 
| 43280 | 171 | do | 
| 172 | case "$OPT" in | |
| 173 | f) | |
| 174 | FRESH=true | |
| 175 | ;; | |
| 47408 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 176 | t) | 
| 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 177 | TEST_PIDE=true | 
| 
63c05991882e
slightly faster default compilation of Isabelle/Scala;
 wenzelm parents: 
47115diff
changeset | 178 | ;; | 
| 43280 | 179 | \?) | 
| 180 | usage | |
| 181 | ;; | |
| 182 | esac | |
| 183 | done | |
| 184 | ||
| 185 | shift $(($OPTIND - 1)) | |
| 186 | ||
| 187 | ||
| 188 | # args | |
| 189 | ||
| 190 | [ "$#" -ne 0 ] && usage | |
| 191 | ||
| 192 | ||
| 49558 | 193 | ## build | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 194 | |
| 34284 | 195 | TARGET_DIR="$ISABELLE_HOME/lib/classes" | 
| 53577 | 196 | TARGET="$TARGET_DIR/Pure.jar" | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 197 | |
| 45673 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 198 | declare -a PIDE_SOURCES=() | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 199 | declare -a PURE_SOURCES=() | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 200 | |
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 201 | for DEP in "${SOURCES[@]}"
 | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 202 | do | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 203 | if grep "Module:.*PIDE" "$DEP" >/dev/null | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 204 | then | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 205 |     PIDE_SOURCES["${#PIDE_SOURCES[@]}"]="$DEP"
 | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 206 | else | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 207 |     PURE_SOURCES["${#PURE_SOURCES[@]}"]="$DEP"
 | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 208 | fi | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 209 | done | 
| 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 210 | |
| 43405 | 211 | declare -a UPDATED=() | 
| 212 | ||
| 43280 | 213 | if [ -n "$FRESH" ]; then | 
| 214 | OUTDATED=true | |
| 215 | else | |
| 216 | OUTDATED=false | |
| 43523 | 217 | if [ ! -e "$TARGET" ]; then | 
| 218 | OUTDATED=true | |
| 219 | else | |
| 43405 | 220 |     for DEP in "${SOURCES[@]}"
 | 
| 43280 | 221 | do | 
| 43405 | 222 | [ ! -e "$DEP" ] && fail "Missing file: $DEP" | 
| 43523 | 223 |       [ "$DEP" -nt "$TARGET" ] && {
 | 
| 224 | OUTDATED=true | |
| 225 |         UPDATED["${#UPDATED[@]}"]="$DEP"
 | |
| 226 | } | |
| 43280 | 227 | done | 
| 43405 | 228 | fi | 
| 43280 | 229 | fi | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 230 | |
| 34284 | 231 | if [ "$OUTDATED" = true ] | 
| 232 | then | |
| 49173 
fa01a202399c
eliminated potentially confusing terminology of Scala "layer";
 wenzelm parents: 
49068diff
changeset | 233 | echo "### Building Isabelle/Scala ..." | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 234 | |
| 43405 | 235 |   [ "${#UPDATED[@]}" -gt 0 ] && {
 | 
| 236 | echo "Changed files:" | |
| 237 |     for FILE in "${UPDATED[@]}"
 | |
| 238 | do | |
| 239 | echo " $FILE" | |
| 240 | done | |
| 241 | } | |
| 242 | ||
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 243 | rm -rf classes && mkdir classes | 
| 45673 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 244 | |
| 47009 | 245 | SCALAC_OPTIONS="$ISABELLE_SCALA_BUILD_OPTIONS -d classes" | 
| 45673 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 246 | |
| 50689 | 247 | ( | 
| 58791 | 248 | classpath "$JAVA_HOME/lib/jfxrt.jar" | 
| 53576 
793a429c63e7
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);
 wenzelm parents: 
53519diff
changeset | 249 | classpath classes | 
| 61294 | 250 | export CLASSPATH="$(platform_path "$ISABELLE_CLASSPATH")" | 
| 50689 | 251 | |
| 252 | if [ "$TEST_PIDE" = true ]; then | |
| 253 |       isabelle_scala scalac $SCALAC_OPTIONS "${PIDE_SOURCES[@]}" || \
 | |
| 254 | fail "Failed to compile PIDE sources" | |
| 255 |       isabelle_scala scalac $SCALAC_OPTIONS "${PURE_SOURCES[@]}" || \
 | |
| 256 | fail "Failed to compile Pure sources" | |
| 257 | else | |
| 258 |       isabelle_scala scalac $SCALAC_OPTIONS "${PIDE_SOURCES[@]}" "${PURE_SOURCES[@]}" || \
 | |
| 259 | fail "Failed to compile sources" | |
| 260 | fi | |
| 51508 | 261 | ) || exit "$?" | 
| 45673 
cd41e3903fbf
separate compilation of PIDE vs. Pure sources, which enables independent Scala library;
 wenzelm parents: 
45672diff
changeset | 262 | |
| 53577 | 263 | mkdir -p "$TARGET_DIR" || fail "Failed to create directory $TARGET_DIR" | 
| 43280 | 264 | |
| 43285 | 265 | pushd classes >/dev/null | 
| 43280 | 266 | |
| 43517 | 267 | CHARSET_SERVICE="META-INF/services/java.nio.charset.spi.CharsetProvider" | 
| 268 | mkdir -p "$(dirname "$CHARSET_SERVICE")" | |
| 269 | echo isabelle.Isabelle_Charset_Provider > "$CHARSET_SERVICE" | |
| 270 | ||
| 54676 
6b2ca4850b71
uniform use of transparent icons, as for main "apps";
 wenzelm parents: 
54671diff
changeset | 271 | cp "$ISABELLE_HOME/lib/logo/isabelle_transparent-32.gif" isabelle/. | 
| 54709 | 272 | cp "$ISABELLE_HOME/lib/logo/isabelle_transparent.gif" isabelle/. | 
| 53452 
8181bc357dc4
more portable access to icon -- avoid Isabelle_System which is not yet initialized in bootstrap;
 wenzelm parents: 
53279diff
changeset | 273 | |
| 61294 | 274 | isabelle_jdk jar cfe "$(platform_path "$TARGET")" isabelle.Main META-INF isabelle || \ | 
| 43523 | 275 | fail "Failed to produce $TARGET" | 
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 276 | |
| 43280 | 277 | popd >/dev/null | 
| 278 | ||
| 34282 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 279 | rm -rf classes | 
| 
549969a7f582
simplified build/bootstrap of Isabelle/Scala components -- avoid make;
 wenzelm parents: diff
changeset | 280 | fi |