# HG changeset patch # User wenzelm # Date 1543869128 -3600 # Node ID df7d7477284be1460a920edface295e9abc748d8 # Parent 56bea34e0f8e7ade890bccb1601b1f0b4cde1a51 clarified signature; diff -r 56bea34e0f8e -r df7d7477284b src/Pure/Admin/build_history.scala --- a/src/Pure/Admin/build_history.scala Mon Dec 03 20:34:19 2018 +0100 +++ b/src/Pure/Admin/build_history.scala Mon Dec 03 21:32:08 2018 +0100 @@ -186,9 +186,7 @@ /* init settings */ val component_settings = - other_isabelle.init_components( - base = components_base getOrElse other_isabelle.default_components_base, - catalogs = List("main", "optional")) + other_isabelle.init_components(base = components_base, catalogs = List("main", "optional")) other_isabelle.init_settings(component_settings ::: init_settings) other_isabelle.resolve_components(verbose) val ml_platform = diff -r 56bea34e0f8e -r df7d7477284b src/Pure/Admin/build_release.scala --- a/src/Pure/Admin/build_release.scala Mon Dec 03 20:34:19 2018 +0100 +++ b/src/Pure/Admin/build_release.scala Mon Dec 03 21:32:08 2018 +0100 @@ -236,6 +236,7 @@ private val default_platform_families = List("linux", "windows", "macos") def build_release(base_dir: Path, + components_base: Option[Path] = None, progress: Progress = No_Progress, rev: String = "", afp_rev: String = "", @@ -328,9 +329,7 @@ progress = progress) other_isabelle.init_settings( - other_isabelle.init_components( - base = Components.contrib(base_dir.absolute), - catalogs = List("main"))) + other_isabelle.init_components(base = components_base, catalogs = List("main"))) other_isabelle.resolve_components(echo = true) try { @@ -490,6 +489,7 @@ { Command_Line.tool0 { var afp_rev = "" + var components_base: Option[Path] = None var remote_mac = "" var official_release = false var proper_release_name: Option[String] = None @@ -504,6 +504,7 @@ Options are: -A REV corresponding AFP changeset id + -C DIR base directory for Isabelle components (default: $ISABELLE_HOME_USER/../contrib) -M USER@HOST remote Mac OS X for dmg build -O official release (not release-candidate) -R RELEASE proper release with name @@ -516,6 +517,7 @@ Build Isabelle release in base directory, using the local repository clone. """, "A:" -> (arg => afp_rev = arg), + "C:" -> (arg => components_base = Some(Path.explode(arg))), "M:" -> (arg => remote_mac = arg), "O" -> (_ => official_release = true), "R:" -> (arg => proper_release_name = Some(arg)), @@ -530,9 +532,9 @@ val progress = new Console_Progress() - build_release(Path.explode(base_dir), progress = progress, rev = rev, afp_rev = afp_rev, - official_release = official_release, proper_release_name = proper_release_name, - website = website, + build_release(Path.explode(base_dir), components_base = components_base, progress = progress, + rev = rev, afp_rev = afp_rev, official_release = official_release, + proper_release_name = proper_release_name, website = website, platform_families = if (platform_families.isEmpty) default_platform_families else platform_families, diff -r 56bea34e0f8e -r df7d7477284b src/Pure/Admin/other_isabelle.scala --- a/src/Pure/Admin/other_isabelle.scala Mon Dec 03 20:34:19 2018 +0100 +++ b/src/Pure/Admin/other_isabelle.scala Mon Dec 03 21:32:08 2018 +0100 @@ -68,18 +68,17 @@ /* components */ - def default_components_base: Path = Components.contrib(isabelle_home_user.absolute.dir) - def init_components( - base: Path = default_components_base, + base: Option[Path] = None, catalogs: List[String] = Nil, components: List[String] = Nil): List[String] = { + val base_dir = base getOrElse Components.contrib(isabelle_home_user.absolute.dir) val dir = Components.admin(isabelle_home.absolute) catalogs.map(name => - "init_components " + File.bash_path(base) + " " + File.bash_path(dir + Path.basic(name))) ::: + "init_components " + File.bash_path(base_dir) + " " + File.bash_path(dir + Path.basic(name))) ::: components.map(name => - "init_component " + File.bash_path(base + Path.basic(name))) + "init_component " + File.bash_path(base_dir + Path.basic(name))) }