158 private val store = build_context.store |
158 private val store = build_context.store |
159 private val build_options = store.options |
159 private val build_options = store.options |
160 private val build_deps = build_context.deps |
160 private val build_deps = build_context.deps |
161 private val progress = build_context.progress |
161 private val progress = build_context.progress |
162 |
162 |
|
163 private val log = |
|
164 build_options.string("system_log") match { |
|
165 case "" => No_Logger |
|
166 case "-" => Logger.make(progress) |
|
167 case log_file => Logger.make(Some(Path.explode(log_file))) |
|
168 } |
|
169 |
163 // global state |
170 // global state |
164 private val numa_nodes = new NUMA.Nodes(numa_shuffling) |
171 private val numa_nodes = new NUMA.Nodes(numa_shuffling) |
165 private var build_graph = build_context.sessions_structure.build_graph |
172 private var build_graph = build_context.sessions_structure.build_graph |
166 private var build_order = SortedSet.from(build_graph.keys)(build_context.ordering) |
173 private var build_order = SortedSet.from(build_graph.keys)(build_context.ordering) |
167 private var running = Map.empty[String, Build_Job] |
174 private var running = Map.empty[String, Build_Job] |
168 private var results = Map.empty[String, Build_Process.Result] |
175 private var results = Map.empty[String, Build_Process.Result] |
169 |
|
170 private val log = |
|
171 build_options.string("system_log") match { |
|
172 case "" => No_Logger |
|
173 case "-" => Logger.make(progress) |
|
174 case log_file => Logger.make(Some(Path.explode(log_file))) |
|
175 } |
|
176 |
176 |
177 private def remove_pending(name: String): Unit = { |
177 private def remove_pending(name: String): Unit = { |
178 build_graph = build_graph.del_node(name) |
178 build_graph = build_graph.del_node(name) |
179 build_order = build_order - name |
179 build_order = build_order - name |
180 } |
180 } |