From 8fda174fb0bd80193a44c8f73c50f0bd6cd10c04 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Fri, 4 May 2018 15:22:24 +0300 Subject: [PATCH] Add the compiler classpath of the KotlinCompile task as KaptTask's input KaptTask was not declaring the compiler classpath (which it takes from compileKotlin task for calling the compiler) as input. This commit fixes that and adds a test that checks compiler classpath input checks for the kapt tasks. Issue #KT-23879 Fixed --- .../org/jetbrains/kotlin/gradle/UpToDatenessIT.kt | 11 +++++++++-- .../org/jetbrains/kotlin/gradle/internal/KaptTask.kt | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt index 301a078df2c..0b3f4c1e209 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt @@ -72,7 +72,14 @@ class UpToDateIT : BaseGradleIT() { override fun initProject(project: Project) = with(project) { buildGradle.appendText("\nprintln 'compiler_cp=' + compileKotlin.getComputedCompilerClasspath\$kotlin_gradle_plugin()") build("clean") { originalCompilerCp = "compiler_cp=\\[(.*)]".toRegex().find(output)!!.groupValues[1].split(", ") } - buildGradle.appendText("\ncompileKotlin.compilerClasspath = files($originalPaths).toList()") + buildGradle.appendText("""${'\n'} + // Add Kapt to the project to test its input checks as well: + apply plugin: 'kotlin-kapt' + compileKotlin.compilerClasspath = files($originalPaths).toList() + afterEvaluate { + kaptGenerateStubsKotlin.compilerClasspath = files($originalPaths).toList() + } + """.trimIndent()) } override fun mutateProject(project: Project) = with(project) { @@ -88,7 +95,7 @@ class UpToDateIT : BaseGradleIT() { } override fun checkAfterRebuild(compiledProject: CompiledProject) = with(compiledProject) { - assertTasksExecuted(listOf(":compileKotlin")) + assertTasksExecuted(listOf(":compileKotlin", ":kaptGenerateStubsKotlin", ":kaptKotlin")) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt index 43071380bd7..e77a934e492 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/KaptTask.kt @@ -45,6 +45,9 @@ open class KaptTask : ConventionTask(), CompilerArgumentAwareWithInput get() = kotlinCompileTask.computedCompilerClasspath + @get:Internal internal lateinit var kaptClasspathConfigurations: List @@ -107,7 +110,7 @@ open class KaptTask : ConventionTask(), CompilerArgumentAwareWithInput