Introduce ChangesCollector
This commit is contained in:
+9
-3
@@ -135,7 +135,12 @@ abstract class IncrementalCompilerRunner<
|
||||
caches.platformCache.markDirty(dirtySources)
|
||||
}
|
||||
|
||||
protected abstract fun compareAndUpdateCache(services: Services, caches: CacheManager, generatedFiles: List<GeneratedFile>): CompilationResult
|
||||
protected abstract fun updateCaches(
|
||||
services: Services,
|
||||
caches: CacheManager,
|
||||
generatedFiles: List<GeneratedFile>,
|
||||
changesCollector: ChangesCollector
|
||||
)
|
||||
|
||||
protected open fun preBuildHook(args: Args, compilationMode: CompilationMode) {}
|
||||
protected open fun postCompilationHook(exitCode: ExitCode) {}
|
||||
@@ -226,11 +231,12 @@ abstract class IncrementalCompilerRunner<
|
||||
allGeneratedFiles.addAll(generatedFiles)
|
||||
caches.inputsCache.registerOutputForSourceFiles(generatedFiles)
|
||||
caches.lookupCache.update(lookupTracker, sourcesToCompile, removedKotlinSources)
|
||||
val compilationResult = compareAndUpdateCache(services, caches, generatedFiles)
|
||||
val changesCollector = ChangesCollector()
|
||||
updateCaches(services, caches, generatedFiles, changesCollector)
|
||||
|
||||
if (compilationMode is CompilationMode.Rebuild) break
|
||||
|
||||
val (dirtyLookupSymbols, dirtyClassFqNames) = compilationResult.getDirtyData(listOf(caches.platformCache), reporter)
|
||||
val (dirtyLookupSymbols, dirtyClassFqNames) = changesCollector.getDirtyData(listOf(caches.platformCache), reporter)
|
||||
val compiledInThisIterationSet = sourcesToCompile.toHashSet()
|
||||
|
||||
with (dirtySources) {
|
||||
|
||||
+8
-2
@@ -211,8 +211,14 @@ class IncrementalJvmCompilerRunner(
|
||||
}
|
||||
}
|
||||
|
||||
override fun compareAndUpdateCache(services: Services, caches: IncrementalJvmCachesManager, generatedFiles: List<GeneratedFile>): CompilationResult =
|
||||
updateIncrementalCache(generatedFiles, caches.platformCache)
|
||||
override fun updateCaches(
|
||||
services: Services,
|
||||
caches: IncrementalJvmCachesManager,
|
||||
generatedFiles: List<GeneratedFile>,
|
||||
changesCollector: ChangesCollector
|
||||
) {
|
||||
updateIncrementalCache(generatedFiles, caches.platformCache, changesCollector)
|
||||
}
|
||||
|
||||
override fun additionalDirtyFiles(
|
||||
caches: IncrementalJvmCachesManager,
|
||||
|
||||
Reference in New Issue
Block a user