Add Kotlin sources output as a separate output directory for kapt.

This commit is contained in:
Sergey Igushkin
2017-11-29 18:38:38 +03:00
parent 4a69d1545b
commit 7ee3b81939
2 changed files with 5 additions and 0 deletions
@@ -293,6 +293,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
kaptTask.stubsDir = getKaptStubsDir()
kaptTask.destinationDir = sourcesOutputDir
kaptTask.kotlinSourcesDestinationDir = kotlinSourcesOutputDir
kaptTask.classesDir = classesOutputDir
javaSourceSet?.output?.apply {
@@ -39,6 +39,9 @@ open class KaptTask : ConventionTask(), CompilerArgumentAware<K2JVMCompilerArgum
@get:OutputDirectory
lateinit var destinationDir: File
@get:OutputDirectory
lateinit var kotlinSourcesDestinationDir: File
override fun createCompilerArgs(): K2JVMCompilerArguments = K2JVMCompilerArguments()
override fun setupCompilerArgs(args: K2JVMCompilerArguments, defaultsOnly: Boolean) {
@@ -75,6 +78,7 @@ open class KaptTask : ConventionTask(), CompilerArgumentAware<K2JVMCompilerArgum
* (annotation processing is not incremental) */
destinationDir.clearDirectory()
classesDir.clearDirectory()
kotlinSourcesDestinationDir.clearDirectory()
val sourceRootsFromKotlin = kotlinCompileTask.sourceRootsContainer.sourceRoots
val rawSourceRoots = FilteringSourceRootsContainer(sourceRootsFromKotlin, { !isInsideDestinationDirs(it) })