src/Pure/Admin/build_release.scala
changeset 69415 99c3529c31d0
parent 69414 eab0d3108b46
child 69417 469724b2cb5d
equal deleted inserted replaced
69414:eab0d3108b46 69415:99c3529c31d0
   224     Isabelle_System.gnutar(args, cwd = dir.file).check
   224     Isabelle_System.gnutar(args, cwd = dir.file).check
   225 
   225 
   226   private def tar_options: String =
   226   private def tar_options: String =
   227     if (Platform.is_macos) "--owner=root --group=staff" else "--owner=root --group=root"
   227     if (Platform.is_macos) "--owner=root --group=staff" else "--owner=root --group=root"
   228 
   228 
   229   private val default_platform_families =
   229   private val default_platform_families: List[Platform.Family.Value] =
   230     List(Platform.Family.linux, Platform.Family.windows, Platform.Family.macos)
   230     List(Platform.Family.linux, Platform.Family.windows, Platform.Family.macos)
   231 
   231 
   232   def build_release(base_dir: Path,
   232   def build_release(base_dir: Path,
   233     options: Options,
   233     options: Options,
   234     components_base: Option[Path] = None,
   234     components_base: Option[Path] = None,
   790       val more_args = getopts(args)
   790       val more_args = getopts(args)
   791       val base_dir = more_args match { case List(base_dir) => base_dir case _ => getopts.usage() }
   791       val base_dir = more_args match { case List(base_dir) => base_dir case _ => getopts.usage() }
   792 
   792 
   793       val progress = new Console_Progress()
   793       val progress = new Console_Progress()
   794 
   794 
       
   795       if (platform_families.contains(Platform.Family.windows) && !Isabelle_System.bash("7z i").ok)
       
   796         error("Building for windows requires 7z")
       
   797 
   795       build_release(Path.explode(base_dir), options, components_base = components_base,
   798       build_release(Path.explode(base_dir), options, components_base = components_base,
   796         progress = progress, rev = rev, afp_rev = afp_rev, official_release = official_release,
   799         progress = progress, rev = rev, afp_rev = afp_rev, official_release = official_release,
   797         proper_release_name = proper_release_name, website = website,
   800         proper_release_name = proper_release_name, website = website,
   798         platform_families =
   801         platform_families =
   799           if (platform_families.isEmpty) default_platform_families
   802           if (platform_families.isEmpty) default_platform_families