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.
This commit is contained in:
committed by
Yan Zhulanow
parent
1797ea62f4
commit
5a46c01f76
+1
-3
@@ -157,8 +157,6 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
|
||||
kaptClasspath.forEach { pluginOptions += SubpluginOption("apclasspath", it.absolutePath) }
|
||||
|
||||
javaCompile.source(generatedFilesDir)
|
||||
|
||||
pluginOptions += SubpluginOption("sources", generatedFilesDir.canonicalPath)
|
||||
pluginOptions += SubpluginOption("classes", getKaptClasssesDir(project, sourceSetName).canonicalPath)
|
||||
|
||||
@@ -204,6 +202,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
val kaptTaskName = kotlinCompile.name.replaceFirst("compile", "kapt")
|
||||
val kaptTask = project.tasks.create(kaptTaskName, KaptTask::class.java)
|
||||
kaptTask.kotlinCompileTask = kotlinCompile
|
||||
kaptTask.javaCompileTask = javaCompile
|
||||
kotlinToKaptTasksMap[kotlinCompile] = kaptTask
|
||||
|
||||
project.resolveSubpluginArtifacts(listOf(this@Kapt3KotlinGradleSubplugin)).flatMap { it.value }.forEach {
|
||||
@@ -218,7 +217,6 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
|
||||
// Add generated source dir as a source root for kotlinCompile and javaCompile
|
||||
kotlinCompile.source(sourcesOutputDir)
|
||||
javaCompile.source(sourcesOutputDir)
|
||||
variantData?.let {
|
||||
if (AndroidGradleWrapper.isJackEnabled(it)) {
|
||||
AndroidGradleWrapper.addSourceToJack(it, sourcesOutputDir)
|
||||
|
||||
+3
-2
@@ -15,8 +15,6 @@ import org.jetbrains.kotlin.gradle.tasks.*
|
||||
import org.jetbrains.kotlin.incremental.classpathAsList
|
||||
import org.jetbrains.kotlin.incremental.destinationAsFile
|
||||
import java.io.File
|
||||
import java.net.URLDecoder
|
||||
import java.nio.charset.Charset
|
||||
|
||||
open class KaptTask : AbstractCompile() {
|
||||
private val rawSourceRoots = FilteringSourceRootsContainer({ !it.isInsideDestinationDir() })
|
||||
@@ -24,6 +22,7 @@ open class KaptTask : AbstractCompile() {
|
||||
|
||||
internal val pluginOptions = CompilerPluginOptions()
|
||||
internal lateinit var kotlinCompileTask: KotlinCompile
|
||||
internal lateinit var javaCompileTask: AbstractCompile
|
||||
|
||||
override fun setSource(sources: Any?) {
|
||||
val filteredSources = rawSourceRoots.set(sources)
|
||||
@@ -75,5 +74,7 @@ open class KaptTask : AbstractCompile() {
|
||||
val compilerRunner = GradleCompilerRunner(project)
|
||||
val exitCode = compilerRunner.runJvmCompiler(sourceRoots.kotlinSourceFiles, sourceRoots.javaSourceRoots, args, environment)
|
||||
throwGradleExceptionIfError(exitCode)
|
||||
|
||||
javaCompileTask.source(destinationDir.walkTopDown().filter { it.extension == "java" }.toList())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user