src/Pure/Admin/build_llncs.scala
changeset 76546 88cecb9f1cdc
parent 76530 2bf13b30b98e
child 76547 9fe5d8c70352
--- a/src/Pure/Admin/build_llncs.scala	Wed Nov 30 15:53:21 2022 +0100
+++ b/src/Pure/Admin/build_llncs.scala	Wed Nov 30 21:36:06 2022 +0100
@@ -32,26 +32,22 @@
 
         val llncs_dir = File.get_dir(download_dir, title = download_url)
 
-        val readme = Path.explode("README.md")
-        File.change(llncs_dir + readme)(_.replace(" ", "\u00a0"))
-
 
         /* component */
 
+        val README_md = Path.explode("README.md")
         val version = {
           val Version = """^_.* v(.*)_$""".r
-          split_lines(File.read(llncs_dir + readme))
+          split_lines(File.read(llncs_dir + README_md))
             .collectFirst({ case Version(v) => v })
-            .getOrElse(error("Failed to detect version in " + readme))
+            .getOrElse(error("Failed to detect version in " + README_md))
         }
 
         val component = "llncs-" + version
         val component_dir =
           Components.Directory.create(target_dir + Path.basic(component), progress = progress)
 
-        Isabelle_System.rm_tree(component_dir.path)
-        Isabelle_System.copy_dir(llncs_dir, component_dir.path)
-        Isabelle_System.make_directory(component_dir.etc)
+        Isabelle_System.extract(download_file, component_dir.path, strip = true)
 
 
         /* settings */
@@ -65,6 +61,8 @@
 
         /* README */
 
+        File.change(component_dir.path + README_md)(_.replace(" ", "\u00a0"))
+
         File.write(component_dir.README,
           """This is the Springer LaTeX LNCS style for authors from
 """ + download_url + """