src/Pure/Build/build.scala
changeset 79676 0cac7e3634d0
parent 79647 b7187d4cdf68
child 79679 ba2c43592f35
--- a/src/Pure/Build/build.scala	Mon Feb 19 11:07:08 2024 +0100
+++ b/src/Pure/Build/build.scala	Mon Feb 19 11:30:37 2024 +0100
@@ -122,7 +122,8 @@
       build_cluster: Boolean = false,
       cache: Term.Cache = Term.Cache.make()
     ): Store = {
-      val store = Store(build_options(options, build_cluster = build_cluster), cache = cache)
+      val store_options = build_options(options, build_cluster = build_cluster)
+      val store = Store(store_options, build_cluster = build_cluster, cache = cache)
       Isabelle_System.make_directory(store.output_dir + Path.basic("log"))
       Isabelle_Fonts.init()
       store
@@ -504,13 +505,14 @@
 
   def build_process(
     options: Options,
+    build_cluster: Boolean = false,
     list_builds: Boolean = false,
     remove_builds: Boolean = false,
     force: Boolean = false,
     progress: Progress = new Progress
   ): Unit = {
     val build_engine = Engine(engine_name(options))
-    val store = build_engine.build_store(options)
+    val store = build_engine.build_store(options, build_cluster = build_cluster)
 
     using(store.open_server()) { server =>
       using_optional(store.maybe_open_build_database(server = server)) { build_database =>
@@ -544,6 +546,7 @@
   val isabelle_tool2 = Isabelle_Tool("build_process", "manage session build process",
     Scala_Project.here,
     { args =>
+      var build_cluster = false
       var force = false
       var list_builds = false
       var options =
@@ -557,6 +560,7 @@
 Usage: isabelle build_process [OPTIONS]
 
   Options are:
+    -C           build cluster mode (database server)
     -f           extra force for option -r
     -l           list build processes
     -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)
@@ -573,8 +577,8 @@
 
       val progress = new Console_Progress()
 
-      build_process(options, list_builds = list_builds, remove_builds = remove_builds,
-        force = force, progress = progress)
+      build_process(options, build_cluster = build_cluster, list_builds = list_builds,
+        remove_builds = remove_builds, force = force, progress = progress)
     })
 
 
@@ -613,7 +617,7 @@
     max_jobs: Option[Int] = None
   ): Results = {
     val build_engine = Engine(engine_name(options))
-    val store = build_engine.build_store(options)
+    val store = build_engine.build_store(options, build_cluster = true)
     val build_options = store.options
 
     using(store.open_server()) { server =>