From 7e6c1c75f4985ce1e034bdfe9b368267b051f6b4 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 12 Feb 2016 17:34:24 +0300 Subject: [PATCH] Remove classfile for modified files too KT-8487 --- .../org/jetbrains/kotlin/gradle/tasks/Tasks.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 708e302d89c..55fa0ebff0c 100644 --- a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -335,13 +335,6 @@ open class KotlinCompile() : AbstractKotlinCompile() { } } val dirtyFiles = dirtyKotlinSourcesFromGradle().toSet() - // first dirty files should be found and only then caches cleared - val removedKotlinFiles = removed.filter { it.isKotlinFile() } - targets.forEach { getIncrementalCache(it).let { - it.markOutputClassesDirty(removedKotlinFiles) - it.removeClassfilesBySources(removedKotlinFiles) - }} - return Pair(dirtyFiles, true) } @@ -385,6 +378,12 @@ open class KotlinCompile() : AbstractKotlinCompile() { } while (sourcesToCompile.any() || currentRemoved.any()) { + val removedAndModified = (sourcesToCompile + currentRemoved).toList() + targets.forEach { getIncrementalCache(it).let { + it.markOutputClassesDirty(removedAndModified) + it.removeClassfilesBySources(removedAndModified) + }} + logger.kotlinInfo("compile iteration: ${sourcesToCompile.joinToString{ projectRelativePath(it) }}") val (existingSource, nonExistingSource) = sourcesToCompile.partition { it.isFile }