# HG changeset patch # User wenzelm # Date 1627142827 -7200 # Node ID 8cd746a5c291254d9202d0b4a32711b79d764bc8 # Parent 55505e7bbfb371937ccc79f0a9cfab63bfeb7808 clarified signature: more operations; diff -r 55505e7bbfb3 -r 8cd746a5c291 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] =