Refactoring: remove extra property to pass stubs directory
This commit is contained in:
+1
-1
@@ -4,6 +4,6 @@ import java.io.File
|
|||||||
|
|
||||||
class KaptOptions {
|
class KaptOptions {
|
||||||
var supportInheritedAnnotations: Boolean = false
|
var supportInheritedAnnotations: Boolean = false
|
||||||
var classFileStubsDir: File? = null
|
var generateStubs: Boolean = false
|
||||||
var annotationsFile: File? = null
|
var annotationsFile: File? = null
|
||||||
}
|
}
|
||||||
+2
-4
@@ -156,7 +156,6 @@ open class KotlinCompile() : AbstractKotlinCompile<K2JVMCompilerArguments>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private var kaptAnnotationsFileUpdater: AnnotationFileUpdater? = null
|
private var kaptAnnotationsFileUpdater: AnnotationFileUpdater? = null
|
||||||
private var kaptStubGeneratingMode = false
|
|
||||||
val kaptOptions = KaptOptions()
|
val kaptOptions = KaptOptions()
|
||||||
val pluginOptions = CompilerPluginOptions()
|
val pluginOptions = CompilerPluginOptions()
|
||||||
|
|
||||||
@@ -484,9 +483,8 @@ open class KotlinCompile() : AbstractKotlinCompile<K2JVMCompilerArguments>() {
|
|||||||
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "output", kaptAnnotationsFile.canonicalPath)
|
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "output", kaptAnnotationsFile.canonicalPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
kaptOptions.classFileStubsDir?.let { kaptClassFileStubsDir ->
|
if (kaptOptions.generateStubs) {
|
||||||
kaptStubGeneratingMode = true
|
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "stubs", destinationDir.canonicalPath)
|
||||||
pluginOptions.addPluginArgument(ANNOTATIONS_PLUGIN_NAME, "stubs", kaptClassFileStubsDir.canonicalPath)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kaptOptions.supportInheritedAnnotations) {
|
if (kaptOptions.supportInheritedAnnotations) {
|
||||||
|
|||||||
+5
-6
@@ -49,11 +49,11 @@ fun Project.initKapt(
|
|||||||
|
|
||||||
kotlinTask.logger.kotlinDebug("kapt: Using class file stubs")
|
kotlinTask.logger.kotlinDebug("kapt: Using class file stubs")
|
||||||
|
|
||||||
val stubsDir = File(buildDir, "tmp/kapt/$variantName/classFileStubs")
|
val stubsDir = File(buildDir, "tmp/kapt/$variantName/classFileStubs").apply { mkdirs() }
|
||||||
stubsDir.mkdirs()
|
kotlinAfterJavaTask.destinationDir = kotlinTask.destinationDir
|
||||||
kotlinTask.kaptOptions.classFileStubs = stubsDir
|
kotlinTask.destinationDir = stubsDir
|
||||||
|
kotlinTask.kaptOptions.generateStubs = true
|
||||||
javaTask.appendClasspathDynamically(stubsDir)
|
javaTask.appendClasspathDynamically(stubsDir)
|
||||||
kotlinTask.appendClasspathDynamically(stubsDir)
|
|
||||||
|
|
||||||
val javaDestinationDir = project.files(javaTask.destinationDir)
|
val javaDestinationDir = project.files(javaTask.destinationDir)
|
||||||
javaTask.doLast {
|
javaTask.doLast {
|
||||||
@@ -105,10 +105,9 @@ private fun Project.createKotlinAfterJavaTask(
|
|||||||
javaTask: AbstractCompile,
|
javaTask: AbstractCompile,
|
||||||
kotlinTask: KotlinCompile,
|
kotlinTask: KotlinCompile,
|
||||||
kotlinOptions: Any?,
|
kotlinOptions: Any?,
|
||||||
destinationDir = kotlinTask.destinationDir
|
|
||||||
tasksProvider: KotlinTasksProvider
|
tasksProvider: KotlinTasksProvider
|
||||||
): KotlinCompile {
|
): 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)
|
classpath = kotlinTask.classpath - project.files(javaTask.destinationDir)
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user