Skip to content

Commit 20ab7df

Browse files
committed
Kapt: Register kapt classes output directory as Java classes directory (KT-19211)
This is relevant to pure (non-Android) Java projects and Gradle 4.0+.
1 parent 4b11b79 commit 20ab7df

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
110110
val javaCompile: AbstractCompile,
111111
val kaptVariantData: KaptVariantData<*>?,
112112
val sourceSetName: String,
113+
val javaSourceSet: SourceSet?,
113114
val kaptExtension: KaptExtension,
114115
val kaptClasspath: MutableList<File>) {
115116
val sourcesOutputDir = getKaptGeneratedDir(project, sourceSetName)
@@ -168,7 +169,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
168169
val kaptExtension = project.extensions.getByType(KaptExtension::class.java)
169170

170171
val context = Kapt3SubpluginContext(project, kotlinCompile, javaCompile,
171-
kaptVariantData, sourceSetName, kaptExtension, kaptClasspath)
172+
kaptVariantData, sourceSetName, javaSourceSet, kaptExtension, kaptClasspath)
172173

173174
val kaptGenerateStubsTask = context.createKaptGenerateStubsTask()
174175
val kaptTask = context.createKaptKotlinTask()
@@ -283,6 +284,10 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
283284
kaptTask.destinationDir = sourcesOutputDir
284285
kaptTask.classesDir = classesOutputDir
285286

287+
javaSourceSet?.output?.apply {
288+
tryAddClassesDir { project.files(classesOutputDir).builtBy(kaptTask) }
289+
}
290+
286291
kotlinCompile.source(sourcesOutputDir, kotlinSourcesOutputDir)
287292

288293
if (kaptVariantData != null) {

libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ internal class Kotlin2JvmSourceSetProcessor(
193193
}
194194
}
195195

196-
private fun SourceSetOutput.tryAddClassesDir(
196+
internal fun SourceSetOutput.tryAddClassesDir(
197197
classesDirProvider: () -> FileCollection
198198
): Boolean {
199199
val getClassesDirs = ReflectionUtil.findMethod(

0 commit comments

Comments
 (0)