clarified signature: more operations;
authorwenzelm
Sat, 24 Jul 2021 18:07:07 +0200
changeset 74060 8cd746a5c291
parent 74059 55505e7bbfb3
child 74061 203dfa8bc0fc
clarified signature: more operations;
src/Pure/Tools/scala_build.scala
--- a/src/Pure/Tools/scala_build.scala	Sat Jul 24 18:01:24 2021 +0200
+++ b/src/Pure/Tools/scala_build.scala	Sat Jul 24 18:07:07 2021 +0200
@@ -40,6 +40,7 @@
 
   def context(dir: Path,
     component: Boolean = false,
+    no_title: Boolean = false,
     do_build: Boolean = false,
     module: Option[Path] = None): Context =
   {
@@ -50,6 +51,7 @@
 
     val props = new JProperties
     props.load(Files.newBufferedReader(props_path.java_path))
+    if (no_title) props.remove(isabelle.setup.Build.TITLE)
     if (do_build) props.remove(isabelle.setup.Build.NO_BUILD)
     if (module.isDefined) props.put(isabelle.setup.Build.MODULE, File.standard_path(module.get))
 
@@ -59,10 +61,21 @@
   def build(dir: Path,
     fresh: Boolean = false,
     component: Boolean = false,
+    no_title: Boolean = false,
     do_build: Boolean = false,
     module: Option[Path] = None): Unit =
   {
-    context(dir, component = component, do_build = do_build, module = module).build(fresh = fresh)
+    context(dir, component = component, no_title = no_title, do_build = do_build, module = module)
+      .build(fresh = fresh)
+  }
+
+  def build_result(dir: Path, component: Boolean = false): Bytes =
+  {
+    Isabelle_System.with_tmp_file("result", "jar")(tmp_file =>
+    {
+      build(dir, component = component, no_title = true, do_build = true, module = Some(tmp_file))
+      Bytes.read(tmp_file)
+    })
   }
 
   def component_contexts(): List[Context] =