Refactoring: remove extra property to pass stubs directory

This commit is contained in:
Alexey Tsvetkov
2016-07-22 15:26:53 +03:00
parent 92af1e9454
commit 54659fcacf
3 changed files with 8 additions and 11 deletions
@@ -4,6 +4,6 @@ import java.io.File
class KaptOptions {
var supportInheritedAnnotations: Boolean = false
var classFileStubsDir: File? = null
var generateStubs: Boolean = false
var annotationsFile: File? = null
}
@@ -156,7 +156,6 @@ open class KotlinCompile() : AbstractKotlinCompile<K2JVMCompilerArguments>() {
}
private var kaptAnnotationsFileUpdater: AnnotationFileUpdater? = null
private var kaptStubGeneratingMode = false
val kaptOptions = KaptOptions()
val pluginOptions = CompilerPluginOptions()
@@ -484,9 +483,8 @@ open class KotlinCompile() : AbstractKotlinCompile<K2JVMCompilerArguments>() {
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "output", kaptAnnotationsFile.canonicalPath)
}
kaptOptions.classFileStubsDir?.let { kaptClassFileStubsDir ->
kaptStubGeneratingMode = true
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "stubs", kaptClassFileStubsDir.canonicalPath)
if (kaptOptions.generateStubs) {
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "stubs", destinationDir.canonicalPath)
}
if (kaptOptions.supportInheritedAnnotations) {
@@ -49,11 +49,11 @@ fun Project.initKapt(
kotlinTask.logger.kotlinDebug("kapt: Using class file stubs")
val stubsDir = File(buildDir, "tmp/kapt/$variantName/classFileStubs")
stubsDir.mkdirs()
kotlinTask.kaptOptions.classFileStubs = stubsDir
val stubsDir = File(buildDir, "tmp/kapt/$variantName/classFileStubs").apply { mkdirs() }
kotlinAfterJavaTask.destinationDir = kotlinTask.destinationDir
kotlinTask.destinationDir = stubsDir
kotlinTask.kaptOptions.generateStubs = true
javaTask.appendClasspathDynamically(stubsDir)
kotlinTask.appendClasspathDynamically(stubsDir)
val javaDestinationDir = project.files(javaTask.destinationDir)
javaTask.doLast {
@@ -105,10 +105,9 @@ private fun Project.createKotlinAfterJavaTask(
javaTask: AbstractCompile,
kotlinTask: KotlinCompile,
kotlinOptions: Any?,
destinationDir = kotlinTask.destinationDir
tasksProvider: KotlinTasksProvider
): KotlinCompile {
val kotlinAfterJavaTask = with (tasksProvider.createKotlinJVMTask(this, KOTLIN_AFTER_JAVA_TASK_SUFFIX)) {
val kotlinAfterJavaTask = with (tasksProvider.createKotlinJVMTask(this, kotlinTask.name + KOTLIN_AFTER_JAVA_TASK_SUFFIX)) {
classpath = kotlinTask.classpath - project.files(javaTask.destinationDir)
this
}