Skip to content

Commit 693512d

Browse files
authored
Merge pull request #86 from apple/update-llbuild
Update llbuild to master
2 parents 4c3a2b5 + 9801c43 commit 693512d

File tree

3 files changed

+9
-23
lines changed

3 files changed

+9
-23
lines changed

Package.resolved

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/SwiftDriver/Execution/JobExecutor.swift

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ struct JobExecutorBuildDelegate: LLBuildEngineDelegate {
256256
case ExecuteAllJobsRule.ruleName:
257257
return ExecuteAllJobsRule(key)
258258
case ExecuteJobRule.ruleName:
259-
return ExecuteJobRule(key)
259+
return ExecuteJobRule(key, context: context)
260260
default:
261261
fatalError("Unknown rule \(rule)")
262262
}
@@ -336,18 +336,18 @@ class ExecuteJobRule: LLBuildRule {
336336
override class var ruleName: String { "\(ExecuteJobRule.self)" }
337337

338338
private let key: RuleKey
339+
private let context: JobExecutor.Context
339340

340341
/// True if any of the inputs had any error.
341342
private var allInputsSucceeded: Bool = true
342343

343-
init(_ key: Key) {
344+
init(_ key: Key, context: JobExecutor.Context) {
344345
self.key = RuleKey(key)
346+
self.context = context
345347
super.init()
346348
}
347349

348350
override func start(_ engine: LLTaskBuildEngine) {
349-
let context = engine.jobExecutorContext
350-
351351
for (idx, input) in key.job.inputs.enumerated() {
352352
if let producingJob = context.producerMap[input.file] {
353353
let key = ExecuteJobRule.RuleKey(job: producingJob)
@@ -375,14 +375,11 @@ class ExecuteJobRule: LLBuildRule {
375375
return engine.taskIsComplete(DriverBuildValue.jobExecution(success: false))
376376
}
377377

378-
let context = engine.jobExecutorContext
379-
context.jobQueue.addOperation {
380-
self.executeJob(engine)
381-
}
378+
engine.taskIsComplete(self.executeJob(engine))
382379
}
383380

384-
private func executeJob(_ engine: LLTaskBuildEngine) {
385-
let context = engine.jobExecutorContext
381+
private func executeJob(_ engine: LLTaskBuildEngine) -> DriverBuildValue {
382+
let context = self.context
386383
let resolver = context.argsResolver
387384
let job = key.job
388385
let env = context.env.merging(job.extraEnvironment, uniquingKeysWith: { $1 })
@@ -433,15 +430,8 @@ class ExecuteJobRule: LLBuildRule {
433430
value = .jobExecution(success: false)
434431
}
435432

436-
engine.taskIsComplete(value)
433+
return value
437434
}
438435
}
439436

440437
extension Job: LLBuildValue { }
441-
442-
extension LLTaskBuildEngine {
443-
/// Returns the job executor context.
444-
var jobExecutorContext: JobExecutor.Context {
445-
return (delegate as! JobExecutorBuildDelegate).context
446-
}
447-
}

Sources/SwiftDriver/Execution/llbuild.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,6 @@ public class LLTaskBuildEngine {
111111
self.engine = engine
112112
}
113113

114-
var delegate: LLBuildEngineDelegate {
115-
return (engine.engine.delegate as! LLBuildEngine.Delegate).delegate
116-
}
117-
118114
public func taskNeedsInput<T: LLBuildKey>(_ key: T, inputID: Int) {
119115
let encodedKey = RuleKey(
120116
rule: T.BuildRule.ruleName, data: key.toKey().data).toKey()

0 commit comments

Comments
 (0)