# HG changeset patch # User wenzelm # Date 1619607789 -7200 # Node ID fc13738e19339d8c139f03ec424a51a72b49b7d7 # Parent 460e7535df46721ec918f01d9836b9fb3ee37750 clarified command-line, following other build_XYZ tools; diff -r 460e7535df46 -r fc13738e1933 Admin/Release/CHECKLIST --- a/Admin/Release/CHECKLIST Wed Apr 28 12:24:39 2021 +0200 +++ b/Admin/Release/CHECKLIST Wed Apr 28 13:03:09 2021 +0200 @@ -74,7 +74,7 @@ - fully-automated packaging (e.g. on lxcisa0): - hg up -r DISTNAME && Admin/build_release -b HOL -l -R DISTNAME /home/isabelle/dist + hg up -r DISTNAME && Admin/build_release -D /home/isabelle/dist -b HOL -l -R DISTNAME - Docker image: diff -r 460e7535df46 -r fc13738e1933 src/Pure/Admin/build_release.scala --- a/src/Pure/Admin/build_release.scala Wed Apr 28 12:24:39 2021 +0200 +++ b/src/Pure/Admin/build_release.scala Wed Apr 28 13:03:09 2021 +0200 @@ -340,8 +340,8 @@ private val default_platform_families: List[Platform.Family.Value] = List(Platform.Family.linux, Platform.Family.windows, Platform.Family.macos) - def build_release(base_dir: Path, - options: Options, + def build_release(options: Options, + target_dir: Path = Path.current, components_base: Path = Components.default_components_base, progress: Progress = new Progress, rev: String = "", @@ -360,7 +360,7 @@ { val date = Date.now() val dist_name = proper_release_name getOrElse ("Isabelle_" + Date.Format.date(date)) - val dist_dir = (base_dir + Path.explode("dist-" + dist_name)).absolute + val dist_dir = (target_dir + Path.explode("dist-" + dist_name)).absolute val version = proper_string(rev) orElse proper_release_name getOrElse "tip" val ident = @@ -824,6 +824,7 @@ Command_Line.tool { var afp_rev = "" var components_base: Path = Components.default_components_base + var target_dir = Path.current var proper_release_name: Option[String] = None var website: Option[Path] = None var build_sessions: List[String] = Nil @@ -841,6 +842,7 @@ -A REV corresponding AFP changeset id -C DIR base directory for Isabelle components (default: """ + Components.default_components_base + """) + -D DIR target directory (default ".") -R RELEASE proper release with name -W WEBSITE produce minimal website in given directory -b SESSIONS build platform-specific session images (separated by commas) @@ -855,6 +857,7 @@ """, "A:" -> (arg => afp_rev = arg), "C:" -> (arg => components_base = Path.explode(arg)), + "D:" -> (arg => target_dir = Path.explode(arg)), "R:" -> (arg => proper_release_name = Some(arg)), "W:" -> (arg => website = Some(Path.explode(arg))), "b:" -> (arg => build_sessions = space_explode(',', arg)), @@ -871,14 +874,14 @@ "r:" -> (arg => rev = arg)) val more_args = getopts(args) - val base_dir = more_args match { case List(base_dir) => base_dir case _ => getopts.usage() } + if (more_args.nonEmpty) getopts.usage() val progress = new Console_Progress() if (platform_families.contains(Platform.Family.windows) && !Isabelle_System.bash("7z i").ok) error("Building for windows requires 7z") - build_release(Path.explode(base_dir), options, components_base = components_base, + build_release(options, target_dir = target_dir, components_base = components_base, progress = progress, rev = rev, afp_rev = afp_rev, proper_release_name = proper_release_name, website = website, platform_families = diff -r 460e7535df46 -r fc13738e1933 src/Pure/Admin/isabelle_devel.scala --- a/src/Pure/Admin/isabelle_devel.scala Wed Apr 28 12:24:39 2021 +0200 +++ b/src/Pure/Admin/isabelle_devel.scala Wed Apr 28 13:03:09 2021 +0200 @@ -40,11 +40,13 @@ afp_rev: String = "", parallel_jobs: Int = 1): Unit = { - Isabelle_System.with_tmp_dir("isadist")(base_dir => + Isabelle_System.with_tmp_dir("isadist")(target_dir => { Isabelle_System.update_directory(root + Path.explode(RELEASE_SNAPSHOT), website_dir => - Build_Release.build_release(base_dir, options, rev = rev, afp_rev = afp_rev, + Build_Release.build_release(options, target_dir = target_dir, + rev = rev, + afp_rev = afp_rev, parallel_jobs = parallel_jobs, build_sessions = List(Isabelle_System.getenv("ISABELLE_LOGIC")), website = Some(website_dir)))