@@ -30,7 +30,7 @@ public class IncrementalCompilationState {
30
30
31
31
/// Track required jobs that haven't finished so the build record can record the corresponding
32
32
/// input statuses.
33
- private var unfinishedJobs : Set < Job >
33
+ private var unfinishedCompileJobs : Set < Job >
34
34
35
35
/// Keyed by primary input. As required compilations are discovered after the first wave, these shrink.
36
36
private var skippedCompileGroups = [ TypedVirtualPath: CompileJobGroup] ( )
@@ -101,7 +101,7 @@ public class IncrementalCompilationState {
101
101
102
102
self . skippedCompileGroups = initial. skippedCompileGroups
103
103
self . mandatoryJobsInOrder = initial. mandatoryJobsInOrder
104
- self . unfinishedJobs = Set ( self . mandatoryJobsInOrder)
104
+ self . unfinishedCompileJobs = Set ( self . mandatoryJobsInOrder. filter { $0 . kind . isCompile } )
105
105
self . jobsAfterCompiles = jobsInPhases. afterCompiles
106
106
self . moduleDependencyGraph = initial. graph
107
107
self . driver = driver
@@ -210,7 +210,7 @@ extension IncrementalCompilationState {
210
210
job finishedJob: Job , result: ProcessResult
211
211
) throws -> [ Job ] ? {
212
212
return try confinementQueue. sync {
213
- unfinishedJobs . remove ( finishedJob)
213
+ unfinishedCompileJobs . remove ( finishedJob)
214
214
215
215
guard case . terminated = result. exitStatus else {
216
216
return [ ]
@@ -228,8 +228,8 @@ extension IncrementalCompilationState {
228
228
}
229
229
}
230
230
let newJobs = try getJobs ( for: invalidatedInputs)
231
- unfinishedJobs . formUnion ( newJobs)
232
- if unfinishedJobs . isEmpty {
231
+ unfinishedCompileJobs . formUnion ( newJobs)
232
+ if unfinishedCompileJobs . isEmpty {
233
233
// no more compilations are possible
234
234
return nil
235
235
}
0 commit comments