src/Pure/Tools/build.scala
changeset 71726 a5fda30edae2
parent 71718 54ac957c53ec
child 71727 0cb14b7455ee
equal deleted inserted replaced
71725:c255ed582095 71726:a5fda30edae2
   459     override def toString: String = rc.toString
   459     override def toString: String = rc.toString
   460   }
   460   }
   461 
   461 
   462   def build(
   462   def build(
   463     options: Options,
   463     options: Options,
   464     progress: Progress = No_Progress,
   464     progress: Progress = new Progress,
   465     check_unknown_files: Boolean = false,
   465     check_unknown_files: Boolean = false,
   466     build_heap: Boolean = false,
   466     build_heap: Boolean = false,
   467     clean_build: Boolean = false,
   467     clean_build: Boolean = false,
   468     dirs: List[Path] = Nil,
   468     dirs: List[Path] = Nil,
   469     select_dirs: List[Path] = Nil,
   469     select_dirs: List[Path] = Nil,
   609         running.iterator.exists(
   609         running.iterator.exists(
   610           { case (_, (_, job)) => job.numa_node.isDefined && job.numa_node.get == i })
   610           { case (_, (_, job)) => job.numa_node.isDefined && job.numa_node.get == i })
   611 
   611 
   612       if (pending.is_empty) results
   612       if (pending.is_empty) results
   613       else {
   613       else {
   614         if (progress.stopped)
   614         if (progress.stopped) {
   615           for ((_, (_, job)) <- running) job.terminate
   615           for ((_, (_, job)) <- running) job.terminate
       
   616         }
   616 
   617 
   617         running.find({ case (_, (_, job)) => job.is_finished }) match {
   618         running.find({ case (_, (_, job)) => job.is_finished }) match {
   618           case Some((session_name, (input_heaps, job))) =>
   619           case Some((session_name, (input_heaps, job))) =>
   619             //{{{ finish job
   620             //{{{ finish job
   620 
   621 
   761         val info = results.info(name)
   762         val info = results.info(name)
   762         if (info.export_files.nonEmpty) {
   763         if (info.export_files.nonEmpty) {
   763           progress.echo("Exporting " + info.name + " ...")
   764           progress.echo("Exporting " + info.name + " ...")
   764           for ((dir, prune, pats) <- info.export_files) {
   765           for ((dir, prune, pats) <- info.export_files) {
   765             Export.export_files(store, name, info.dir + dir,
   766             Export.export_files(store, name, info.dir + dir,
   766               progress = if (verbose) progress else No_Progress,
   767               progress = if (verbose) progress else new Progress,
   767               export_prune = prune,
   768               export_prune = prune,
   768               export_patterns = pats)
   769               export_patterns = pats)
   769           }
   770           }
   770         }
   771         }
   771       }
   772       }
   935 
   936 
   936 
   937 
   937   /* build logic image */
   938   /* build logic image */
   938 
   939 
   939   def build_logic(options: Options, logic: String,
   940   def build_logic(options: Options, logic: String,
   940     progress: Progress = No_Progress,
   941     progress: Progress = new Progress,
   941     build_heap: Boolean = false,
   942     build_heap: Boolean = false,
   942     dirs: List[Path] = Nil,
   943     dirs: List[Path] = Nil,
   943     fresh: Boolean = false,
   944     fresh: Boolean = false,
   944     strict: Boolean = false): Int =
   945     strict: Boolean = false): Int =
   945   {
   946   {