src/Pure/Tools/build_process.scala
changeset 77338 0a91c697a18a
parent 77337 1ab68d4370ec
child 77339 c81abb66a97f
equal deleted inserted replaced
77337:1ab68d4370ec 77338:0a91c697a18a
   228     "Timing " + session_name + " (" + threads + " threads, " + timing.message_factor + ")"
   228     "Timing " + session_name + " (" + threads + " threads, " + timing.message_factor + ")"
   229   }
   229   }
   230 }
   230 }
   231 
   231 
   232 class Build_Process(protected val build_context: Build_Process.Context) {
   232 class Build_Process(protected val build_context: Build_Process.Context) {
   233   protected val store = build_context.store
   233   protected val store: Sessions.Store = build_context.store
   234   protected val build_options = store.options
   234   protected val build_options: Options = store.options
   235   protected val build_deps = build_context.deps
   235   protected val build_deps: Sessions.Deps = build_context.deps
   236   protected val progress = build_context.progress
   236   protected val progress: Progress = build_context.progress
   237   protected val verbose = build_context.verbose
   237   protected val verbose: Boolean = build_context.verbose
   238 
   238 
   239   protected val log =
   239   protected val log: Logger =
   240     build_options.string("system_log") match {
   240     build_options.string("system_log") match {
   241       case "" => No_Logger
   241       case "" => No_Logger
   242       case "-" => Logger.make(progress)
   242       case "-" => Logger.make(progress)
   243       case log_file => Logger.make(Some(Path.explode(log_file)))
   243       case log_file => Logger.make(Some(Path.explode(log_file)))
   244     }
   244     }
   245 
   245 
   246   // global state
   246   // global state
   247   protected var _state = init_state()
   247   protected var _state: Build_Process.State = init_state()
   248 
   248 
   249   protected def init_state(): Build_Process.State =
   249   protected def init_state(): Build_Process.State =
   250     Build_Process.State(pending =
   250     Build_Process.State(pending =
   251       (for ((name, (_, (preds, _))) <- build_context.sessions_structure.build_graph.iterator)
   251       (for ((name, (_, (preds, _))) <- build_context.sessions_structure.build_graph.iterator)
   252         yield Build_Process.Entry(name, preds.toList)).toList)
   252         yield Build_Process.Entry(name, preds.toList)).toList)