Skip to content

Commit 5a46c01

Browse files
committed
Kapt3: Add generated source files to Java compile task after kapt execution. Filter only .java files.
This is needed to generate Kotlin files using kapt.
1 parent 1797ea6 commit 5a46c01

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,6 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
157157

158158
kaptClasspath.forEach { pluginOptions += SubpluginOption("apclasspath", it.absolutePath) }
159159

160-
javaCompile.source(generatedFilesDir)
161-
162160
pluginOptions += SubpluginOption("sources", generatedFilesDir.canonicalPath)
163161
pluginOptions += SubpluginOption("classes", getKaptClasssesDir(project, sourceSetName).canonicalPath)
164162

@@ -204,6 +202,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
204202
val kaptTaskName = kotlinCompile.name.replaceFirst("compile", "kapt")
205203
val kaptTask = project.tasks.create(kaptTaskName, KaptTask::class.java)
206204
kaptTask.kotlinCompileTask = kotlinCompile
205+
kaptTask.javaCompileTask = javaCompile
207206
kotlinToKaptTasksMap[kotlinCompile] = kaptTask
208207

209208
project.resolveSubpluginArtifacts(listOf(this@Kapt3KotlinGradleSubplugin)).flatMap { it.value }.forEach {
@@ -218,7 +217,6 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
218217

219218
// Add generated source dir as a source root for kotlinCompile and javaCompile
220219
kotlinCompile.source(sourcesOutputDir)
221-
javaCompile.source(sourcesOutputDir)
222220
variantData?.let {
223221
if (AndroidGradleWrapper.isJackEnabled(it)) {
224222
AndroidGradleWrapper.addSourceToJack(it, sourcesOutputDir)

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@ import org.jetbrains.kotlin.gradle.tasks.*
1515
import org.jetbrains.kotlin.incremental.classpathAsList
1616
import org.jetbrains.kotlin.incremental.destinationAsFile
1717
import java.io.File
18-
import java.net.URLDecoder
19-
import java.nio.charset.Charset
2018

2119
open class KaptTask : AbstractCompile() {
2220
private val rawSourceRoots = FilteringSourceRootsContainer({ !it.isInsideDestinationDir() })
2321
private val args = K2JVMCompilerArguments().apply { fillDefaultValues() }
2422

2523
internal val pluginOptions = CompilerPluginOptions()
2624
internal lateinit var kotlinCompileTask: KotlinCompile
25+
internal lateinit var javaCompileTask: AbstractCompile
2726

2827
override fun setSource(sources: Any?) {
2928
val filteredSources = rawSourceRoots.set(sources)
@@ -75,5 +74,7 @@ open class KaptTask : AbstractCompile() {
7574
val compilerRunner = GradleCompilerRunner(project)
7675
val exitCode = compilerRunner.runJvmCompiler(sourceRoots.kotlinSourceFiles, sourceRoots.javaSourceRoots, args, environment)
7776
throwGradleExceptionIfError(exitCode)
77+
78+
javaCompileTask.source(destinationDir.walkTopDown().filter { it.extension == "java" }.toList())
7879
}
7980
}

0 commit comments

Comments
 (0)