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 00688bdb4a4..93e49271e40 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 @@ -472,4 +472,16 @@ open class Kapt3IT : Kapt3BaseIT() { assertTasksExecuted(":app:kaptGenerateStubsKotlin", ":app:kaptKotlin") } } + + @Test + fun testDependencyOnKaptModule() = with(Project("simpleProject")) { + setupWorkingDir() + + val kaptProject = Project("simple", directoryPrefix = "kapt2").apply { setupWorkingDir() } + kaptProject.projectDir.copyRecursively(projectDir.resolve("simple")) + projectDir.resolve("settings.gradle").writeText("include 'simple'") + gradleBuildScript().appendText("\ndependencies { implementation project(':simple') }") + + testResolveAllConfigurations() + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt index 3a034fc5caa..ae615643929 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt @@ -127,7 +127,10 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin { val configurationName = Kapt3KotlinGradleSubplugin.getKaptConfigurationName(sourceSetName) project.configurations.findByName(configurationName)?.let { return it } - val aptConfiguration = project.configurations.create(configurationName) + val aptConfiguration = project.configurations.create(configurationName).apply { + // Should not be available for consumption from other projects during variant-aware dependency resolution: + isCanBeConsumed = false + } if (aptConfiguration.name != Kapt3KotlinGradleSubplugin.MAIN_KAPT_CONFIGURATION_NAME) { // The main configuration can be created after the current one. We should handle this case