From 67b5527c68caa0a907593935d75181570b3c6673 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Mon, 11 Dec 2017 20:39:09 +0300 Subject: [PATCH] Fix Kotlin destination dir added to Java task without normalization. Issue #KT-20604 Fixed --- .../org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index 5b60be48883..b7fa70a6588 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -688,7 +688,14 @@ internal fun configureJavaTask(kotlinTask: KotlinCompile, javaTask: AbstractComp } // Make Gradle check if the javaTask is up-to-date based on the Kotlin classes - javaTask.inputsCompatible.dirCompatible(kotlinTask.destinationDir) + javaTask.inputsCompatible.run { + if (shouldEnableGradleCache()) { + dir(kotlinTask.destinationDir).withNormalizer(ClasspathNormalizer::class.java) + } + else { + dirCompatible(kotlinTask.destinationDir) + } + } // Also, use kapt1 annotations file for up-to-date check since annotation processing is done with javac kotlinTask.kaptOptions.annotationsFile?.let { javaTask.inputsCompatible.fileCompatible(it) }