From a0aeb1554d3c7b427f77533fa6af87a3a7cc4dc6 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Fri, 13 Mar 2020 21:53:02 +0300 Subject: [PATCH] Filter kapt generate stubs classpath for non-existent entries (KT-37241) Issue #KT-37241 Fixed --- .../src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt | 5 ++++- .../resources/testProject/kapt2/kt19179/api/build.gradle | 1 + .../kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt index 69d4821143c..8fe745483bf 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt @@ -541,7 +541,7 @@ open class Kapt3IT : Kapt3BaseIT() { } @Test - fun testKt19179() { + fun testKt19179andKt37241() { val project = Project("kt19179", directoryPrefix = "kapt2") project.build("build") { @@ -565,6 +565,9 @@ open class Kapt3IT : Kapt3BaseIT() { ":app:kaptGenerateStubsKotlin", ":app:kaptKotlin" ) + + // Test for KT-37241, check the that non-existent classpath entry is filtered out: + assertNotContains("Classpath entry points to a non-existent location") } project.projectDir.getFileByName("Test.kt").modify { text -> diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/kt19179/api/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/kt19179/api/build.gradle index ee7434e1b5d..0a21010a664 100755 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/kt19179/api/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/kt19179/api/build.gradle @@ -1,4 +1,5 @@ apply plugin: 'kotlin' +apply plugin: 'java-library' dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt index 6c5aae04cac..13b7f3f47bf 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/KaptGenerateStubsTask.kt @@ -92,7 +92,7 @@ open class KaptGenerateStubsTask : KotlinCompile() { args.pluginOptions = (pluginOptionsWithKapt.arguments + args.pluginOptions!!).toTypedArray() args.verbose = project.hasProperty("kapt.verbose") && project.property("kapt.verbose").toString().toBoolean() == true - args.classpathAsList = this.compileClasspath.toList() + args.classpathAsList = this.compileClasspath.filter { it.exists() }.toList() args.destinationAsFile = this.destinationDir }