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) |