src/Pure/Admin/build_spass.scala
changeset 76518 b30b8e23383c
parent 75394 42267c650205
child 76540 83de6e9ae983
--- a/src/Pure/Admin/build_spass.scala	Sun Nov 13 21:59:19 2022 +0100
+++ b/src/Pure/Admin/build_spass.scala	Sun Nov 20 23:37:54 2022 +0100
@@ -51,14 +51,15 @@
         progress.echo_warning("Odd SPASS version " + version + " (expected " + standard_version + ")")
       }
 
-      val component_dir = Isabelle_System.new_directory(target_dir + Path.basic(component_name))
-      progress.echo("Component " + component_dir)
+      val component_dir =
+        Components.Directory.create(target_dir + Path.basic(component_name), progress = progress)
 
       val platform_name =
         proper_string(Isabelle_System.getenv("ISABELLE_PLATFORM64"))
           .getOrElse(error("No 64bit platform"))
 
-      val platform_dir = Isabelle_System.make_directory(component_dir + Path.basic(platform_name))
+      val platform_dir =
+        Isabelle_System.make_directory(component_dir.path + Path.basic(platform_name))
 
 
       /* download source */
@@ -69,7 +70,7 @@
       Isabelle_System.bash("tar xzf " + archive_path, cwd = tmp_dir.file).check
       Isabelle_System.bash(
         "tar xzf " + archive_path + " && mv " + Bash.string(archive_base_name) + " src",
-        cwd = component_dir.file).check
+        cwd = component_dir.path.file).check
 
 
       /* build */
@@ -93,8 +94,7 @@
 
       /* install */
 
-      Isabelle_System.copy_file(build_dir + Path.basic("LICENCE"),
-        component_dir + Path.basic("LICENSE"))
+      Isabelle_System.copy_file(build_dir + Path.basic("LICENCE"), component_dir.LICENSE)
 
       val install_files = List("SPASS")
       for (name <- install_files ::: install_files.map(_ + ".exe")) {
@@ -105,8 +105,7 @@
 
       /* settings */
 
-      val etc_dir = Isabelle_System.make_directory(component_dir + Path.basic("etc"))
-      File.write(etc_dir + Path.basic("settings"),
+      File.write(component_dir.settings,
         """# -*- shell-script -*- :mode=shellscript:
 
 SPASS_HOME="$COMPONENT/$ISABELLE_PLATFORM64"
@@ -115,7 +114,7 @@
 
       /* README */
 
-      File.write(component_dir + Path.basic("README"),
+      File.write(component_dir.README,
 """This distribution of SPASS 3.8ds, described in Blanchette, Popescu, Wand, and
 Weidenbach's ITP 2012 paper "More SPASS with Isabelle", has been compiled from
 sources available at """ + download_url + """