diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt index 2d7479c60af..3c42d86e0e2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt @@ -287,6 +287,7 @@ internal class IncrementalJvmCompilerRunner( BuildInfo.write(currentBuildInfo, lastBuildInfoFile) val buildDirtyLookupSymbols = HashSet() val buildDirtyFqNames = HashSet() + val allSourcesToCompile = HashSet() var exitCode = ExitCode.OK while (dirtySources.any()) { @@ -300,7 +301,10 @@ internal class IncrementalJvmCompilerRunner( reporter.report { "compile iteration: ${reporter.pathsAsString(sourcesToCompile)}" } } - val text = sourcesToCompile.map { it.canonicalPath }.joinToString(separator = System.getProperty("line.separator")) + // todo: more optimal to save only last iteration, but it will require adding standalone-ic specific logs + // (because jps rebuilds all files from last build if it failed and gradle rebuilds everything) + allSourcesToCompile.addAll(sourcesToCompile) + val text = allSourcesToCompile.map { it.canonicalPath }.joinToString(separator = System.getProperty("line.separator")) dirtySourcesSinceLastTimeFile.writeText(text) val compilerOutput = compileChanged(listOf(targetId), sourcesToCompile.toSet(), args, { caches.incrementalCache }, lookupTracker, messageCollector)