src/Pure/Tools/build.scala
changeset 59319 677615cba30d
parent 59136 c2b23cb8a677
child 59366 e94df7f6b608
equal deleted inserted replaced
59318:3ef6b0b6232e 59319:677615cba30d
   164 
   164 
   165     def selection(requirements: Boolean, all_sessions: Boolean,
   165     def selection(requirements: Boolean, all_sessions: Boolean,
   166       session_groups: List[String], sessions: List[String]): (List[String], Session_Tree) =
   166       session_groups: List[String], sessions: List[String]): (List[String], Session_Tree) =
   167     {
   167     {
   168       val bad_sessions = sessions.filterNot(isDefinedAt(_))
   168       val bad_sessions = sessions.filterNot(isDefinedAt(_))
   169       if (!bad_sessions.isEmpty) error("Undefined session(s): " + commas_quote(bad_sessions))
   169       if (bad_sessions.nonEmpty) error("Undefined session(s): " + commas_quote(bad_sessions))
   170 
   170 
   171       val pre_selected =
   171       val pre_selected =
   172       {
   172       {
   173         if (all_sessions) graph.keys
   173         if (all_sessions) graph.keys
   174         else {
   174         else {
   803     // optional cleanup
   803     // optional cleanup
   804     if (clean_build) {
   804     if (clean_build) {
   805       for (name <- full_tree.graph.all_succs(selected)) {
   805       for (name <- full_tree.graph.all_succs(selected)) {
   806         val files =
   806         val files =
   807           List(Path.basic(name), log(name), log_gz(name)).map(output_dir + _).filter(_.is_file)
   807           List(Path.basic(name), log(name), log_gz(name)).map(output_dir + _).filter(_.is_file)
   808         if (!files.isEmpty) progress.echo("Cleaning " + name + " ...")
   808         if (files.nonEmpty) progress.echo("Cleaning " + name + " ...")
   809         if (!files.forall(p => p.file.delete)) progress.echo(name + " FAILED to delete")
   809         if (!files.forall(p => p.file.delete)) progress.echo(name + " FAILED to delete")
   810       }
   810       }
   811     }
   811     }
   812 
   812 
   813     // scheduler loop
   813     // scheduler loop
   942             map({ case (chapter, es) => (chapter, es.map(_._2)) }).filterNot(_._2.isEmpty)
   942             map({ case (chapter, es) => (chapter, es.map(_._2)) }).filterNot(_._2.isEmpty)
   943 
   943 
   944       for ((chapter, entries) <- browser_chapters)
   944       for ((chapter, entries) <- browser_chapters)
   945         Present.update_chapter_index(browser_info, chapter, entries)
   945         Present.update_chapter_index(browser_info, chapter, entries)
   946 
   946 
   947       if (!browser_chapters.isEmpty && !(browser_info + Path.explode("index.html")).is_file)
   947       if (browser_chapters.nonEmpty && !(browser_info + Path.explode("index.html")).is_file)
   948       {
   948       {
   949         Isabelle_System.mkdirs(browser_info)
   949         Isabelle_System.mkdirs(browser_info)
   950         File.copy(Path.explode("~~/lib/logo/isabelle.gif"),
   950         File.copy(Path.explode("~~/lib/logo/isabelle.gif"),
   951           browser_info + Path.explode("isabelle.gif"))
   951           browser_info + Path.explode("isabelle.gif"))
   952         File.write(browser_info + Path.explode("index.html"),
   952         File.write(browser_info + Path.explode("index.html"),