diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt index 505e4f35a92..02c4b603db4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt @@ -110,6 +110,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin { val javaCompile: AbstractCompile, val kaptVariantData: KaptVariantData<*>?, val sourceSetName: String, + val javaSourceSet: SourceSet?, val kaptExtension: KaptExtension, val kaptClasspath: MutableList) { val sourcesOutputDir = getKaptGeneratedDir(project, sourceSetName) @@ -168,7 +169,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin { val kaptExtension = project.extensions.getByType(KaptExtension::class.java) val context = Kapt3SubpluginContext(project, kotlinCompile, javaCompile, - kaptVariantData, sourceSetName, kaptExtension, kaptClasspath) + kaptVariantData, sourceSetName, javaSourceSet, kaptExtension, kaptClasspath) val kaptGenerateStubsTask = context.createKaptGenerateStubsTask() val kaptTask = context.createKaptKotlinTask() @@ -283,6 +284,10 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin { kaptTask.destinationDir = sourcesOutputDir kaptTask.classesDir = classesOutputDir + javaSourceSet?.output?.apply { + tryAddClassesDir { project.files(classesOutputDir).builtBy(kaptTask) } + } + kotlinCompile.source(sourcesOutputDir, kotlinSourcesOutputDir) if (kaptVariantData != null) { 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 3e76ff82514..a2db988ac37 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 @@ -193,7 +193,7 @@ internal class Kotlin2JvmSourceSetProcessor( } } -private fun SourceSetOutput.tryAddClassesDir( +internal fun SourceSetOutput.tryAddClassesDir( classesDirProvider: () -> FileCollection ): Boolean { val getClassesDirs = ReflectionUtil.findMethod(