src/Pure/Admin/build_release.scala
changeset 70246 7c55ea37fbf7
parent 70244 2ca87b481077
child 71275 18f4061fd817
equal deleted inserted replaced
70245:8feae28e5c44 70246:7c55ea37fbf7
    36         isabelle_identifier = dist_name + "-build",
    36         isabelle_identifier = dist_name + "-build",
    37         progress = progress)
    37         progress = progress)
    38 
    38 
    39     def bundle_info(platform: Platform.Family.Value): Bundle_Info =
    39     def bundle_info(platform: Platform.Family.Value): Bundle_Info =
    40       platform match {
    40       platform match {
    41         case Platform.Family.linux => Bundle_Info(platform, "Linux", dist_name + "_linux.tar.xz")
    41         case Platform.Family.linux => Bundle_Info(platform, "Linux", dist_name + "_linux.tar.gz")
    42         case Platform.Family.macos => Bundle_Info(platform, "macOS", dist_name + "_macos.tar.xz")
    42         case Platform.Family.macos => Bundle_Info(platform, "macOS", dist_name + "_macos.tar.gz")
    43         case Platform.Family.windows => Bundle_Info(platform, "Windows", dist_name + ".exe")
    43         case Platform.Family.windows => Bundle_Info(platform, "Windows", dist_name + ".exe")
    44       }
    44       }
    45   }
    45   }
    46 
    46 
    47 
    47 
   520             val linux_app = isabelle_target + Path.explode("contrib/linux_app")
   520             val linux_app = isabelle_target + Path.explode("contrib/linux_app")
   521             File.move(linux_app + Path.explode("Isabelle"),
   521             File.move(linux_app + Path.explode("Isabelle"),
   522               isabelle_target + Path.explode(isabelle_name))
   522               isabelle_target + Path.explode(isabelle_name))
   523             Isabelle_System.rm_tree(linux_app)
   523             Isabelle_System.rm_tree(linux_app)
   524 
   524 
   525             val archive_name = isabelle_name + "_linux.tar.xz"
   525             val archive_name = isabelle_name + "_linux.tar.gz"
   526             progress.echo("Packaging " + archive_name + " ...")
   526             progress.echo("Packaging " + archive_name + " ...")
   527             execute_tar(tmp_dir,
   527             execute_tar(tmp_dir,
   528               "-cJf " + File.bash_path(release.dist_dir + Path.explode(archive_name)) + " " +
   528               "-czf " + File.bash_path(release.dist_dir + Path.explode(archive_name)) + " " +
   529               Bash.string(isabelle_name))
   529               Bash.string(isabelle_name))
   530 
   530 
   531 
   531 
   532           case Platform.Family.macos =>
   532           case Platform.Family.macos =>
   533             File.write(isabelle_target + jedit_props,
   533             File.write(isabelle_target + jedit_props,
   723         progress.echo_warning("Library archive already exists: " + release.isabelle_library_archive)
   723         progress.echo_warning("Library archive already exists: " + release.isabelle_library_archive)
   724       }
   724       }
   725       else {
   725       else {
   726         Isabelle_System.with_tmp_dir("build_release")(tmp_dir =>
   726         Isabelle_System.with_tmp_dir("build_release")(tmp_dir =>
   727           {
   727           {
   728             if (!Platform.is_linux) error("Linux platform required for library archive")
       
   729 
       
   730             val bundle =
   728             val bundle =
   731               release.dist_dir + Path.explode(release.dist_name + "_linux.tar.xz")
   729               release.dist_dir + Path.explode(release.dist_name + "_" + Platform.family + ".tar.gz")
   732             execute_tar(tmp_dir, "-xJf " + File.bash_path(bundle))
   730             execute_tar(tmp_dir, "-xzf " + File.bash_path(bundle))
   733 
   731 
   734             val other_isabelle = release.other_isabelle(tmp_dir)
   732             val other_isabelle = release.other_isabelle(tmp_dir)
   735 
   733 
   736             Isabelle_System.mkdirs(other_isabelle.etc)
   734             Isabelle_System.mkdirs(other_isabelle.etc)
   737             File.write(other_isabelle.etc_preferences, "ML_system_64 = true\n")
   735             File.write(other_isabelle.etc_preferences, "ML_system_64 = true\n")