# HG changeset patch # User wenzelm # Date 1674568011 -3600 # Node ID 348f4d95d110ce059412dcd0d78943dd820b33de # Parent ef1831744f00e8879a69a7331af39d30bd4697dc more robust (see also 7f55a3e28c88): resolve components from current Isabelle context, using Isabelle/Scala instead of shell scripts; diff -r ef1831744f00 -r 348f4d95d110 src/Pure/Admin/other_isabelle.scala --- a/src/Pure/Admin/other_isabelle.scala Tue Jan 24 11:36:15 2023 +0100 +++ b/src/Pure/Admin/other_isabelle.scala Tue Jan 24 14:46:51 2023 +0100 @@ -47,12 +47,6 @@ env = null, cwd = isabelle_home.file, redirect = redirect, echo = echo, strict = strict) } - def resolve_components(echo: Boolean): Unit = { - other_isabelle.bash( - "bin/isabelle env ISABELLE_TOOLS=" + Bash.string(Isabelle_System.getenv("ISABELLE_TOOLS")) + - " isabelle components -a", redirect = true, echo = echo).check - } - def getenv(name: String): String = other_isabelle.bash("bin/isabelle getenv -b " + Bash.string(name)).check.out @@ -62,6 +56,13 @@ val etc_settings: Path = etc + Path.explode("settings") val etc_preferences: Path = etc + Path.explode("preferences") + def resolve_components(echo: Boolean): Unit = { + val missing = Path.split(getenv("ISABELLE_COMPONENTS_MISSING")) + for (path <- missing) { + Components.resolve(path.dir, path.file_name, progress = if (echo) progress else new Progress) + } + } + /* components */