src/Pure/Admin/other_isabelle.scala
changeset 77069 348f4d95d110
parent 77055 f56800b8b085
child 77071 7a89ef6b0276
equal deleted inserted replaced
77068:ef1831744f00 77069:348f4d95d110
    45       "export USER_HOME=" + File.bash_path(user_home) + "\n" +
    45       "export USER_HOME=" + File.bash_path(user_home) + "\n" +
    46       Isabelle_System.export_isabelle_identifier(isabelle_identifier) + script,
    46       Isabelle_System.export_isabelle_identifier(isabelle_identifier) + script,
    47       env = null, cwd = isabelle_home.file, redirect = redirect, echo = echo, strict = strict)
    47       env = null, cwd = isabelle_home.file, redirect = redirect, echo = echo, strict = strict)
    48   }
    48   }
    49 
    49 
    50   def resolve_components(echo: Boolean): Unit = {
       
    51     other_isabelle.bash(
       
    52       "bin/isabelle env ISABELLE_TOOLS=" + Bash.string(Isabelle_System.getenv("ISABELLE_TOOLS")) +
       
    53       " isabelle components -a", redirect = true, echo = echo).check
       
    54   }
       
    55 
       
    56   def getenv(name: String): String =
    50   def getenv(name: String): String =
    57     other_isabelle.bash("bin/isabelle getenv -b " + Bash.string(name)).check.out
    51     other_isabelle.bash("bin/isabelle getenv -b " + Bash.string(name)).check.out
    58 
    52 
    59   val isabelle_home_user: Path = Path.explode(getenv("ISABELLE_HOME_USER"))
    53   val isabelle_home_user: Path = Path.explode(getenv("ISABELLE_HOME_USER"))
    60 
    54 
    61   val etc: Path = isabelle_home_user + Path.explode("etc")
    55   val etc: Path = isabelle_home_user + Path.explode("etc")
    62   val etc_settings: Path = etc + Path.explode("settings")
    56   val etc_settings: Path = etc + Path.explode("settings")
    63   val etc_preferences: Path = etc + Path.explode("preferences")
    57   val etc_preferences: Path = etc + Path.explode("preferences")
       
    58 
       
    59   def resolve_components(echo: Boolean): Unit = {
       
    60     val missing = Path.split(getenv("ISABELLE_COMPONENTS_MISSING"))
       
    61     for (path <- missing) {
       
    62       Components.resolve(path.dir, path.file_name, progress = if (echo) progress else new Progress)
       
    63     }
       
    64   }
    64 
    65 
    65 
    66 
    66   /* components */
    67   /* components */
    67 
    68 
    68   def init_components(
    69   def init_components(