Kapt: compile kotlinAfterJava without Jdk as well in Android projects (KT-10854)
This commit is contained in:
+10
-1
@@ -32,6 +32,7 @@ fun Project.initKapt(
|
||||
kaptManager: AnnotationProcessingManager,
|
||||
variantName: String,
|
||||
kotlinOutputDir: File,
|
||||
kotlinOptions: Any?,
|
||||
subpluginEnvironment: SubpluginEnvironment,
|
||||
taskFactory: (suffix: String) -> AbstractCompile
|
||||
): AbstractCompile? {
|
||||
@@ -39,7 +40,8 @@ fun Project.initKapt(
|
||||
val kotlinAfterJavaTask: AbstractCompile?
|
||||
|
||||
if (kaptExtension.generateStubs) {
|
||||
kotlinAfterJavaTask = createKotlinAfterJavaTask(javaTask, kotlinOutputDir, taskFactory)
|
||||
kotlinAfterJavaTask = createKotlinAfterJavaTask(javaTask, kotlinTask,
|
||||
kotlinOutputDir, kotlinOptions, taskFactory)
|
||||
|
||||
kotlinTask.logger.kotlinDebug("kapt: Using class file stubs")
|
||||
|
||||
@@ -85,7 +87,9 @@ fun Project.initKapt(
|
||||
|
||||
private fun Project.createKotlinAfterJavaTask(
|
||||
javaTask: AbstractCompile,
|
||||
kotlinTask: AbstractCompile,
|
||||
kotlinOutputDir: File,
|
||||
kotlinOptions: Any?,
|
||||
taskFactory: (suffix: String) -> AbstractCompile
|
||||
): AbstractCompile {
|
||||
val kotlinAfterJavaTask = with (taskFactory(KOTLIN_AFTER_JAVA_TASK_SUFFIX)) {
|
||||
@@ -102,6 +106,11 @@ private fun Project.createKotlinAfterJavaTask(
|
||||
|
||||
kotlinAfterJavaTask.dependsOn(javaTask)
|
||||
|
||||
kotlinAfterJavaTask.extensions.extraProperties.set("defaultModuleName", "${project.name}-${kotlinTask.name}")
|
||||
if (kotlinOptions != null) {
|
||||
kotlinAfterJavaTask.setProperty("kotlinOptions", kotlinOptions)
|
||||
}
|
||||
|
||||
return kotlinAfterJavaTask
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -166,7 +166,7 @@ class Kotlin2JvmSourceSetProcessor(
|
||||
aptConfiguration.resolve(), aptOutputDir, aptWorkingDir, tasksProvider.tasksLoader)
|
||||
|
||||
val kotlinAfterJavaTask = project.initKapt(kotlinTask, javaTask, kaptManager,
|
||||
sourceSetName, kotlinDestinationDir, subpluginEnvironment) {
|
||||
sourceSetName, kotlinDestinationDir, null, subpluginEnvironment) {
|
||||
createKotlinCompileTask(it)
|
||||
}
|
||||
|
||||
@@ -431,7 +431,8 @@ open class KotlinAndroidPlugin @Inject constructor(val scriptHandler: ScriptHand
|
||||
|
||||
kotlinTask.storeKaptAnnotationsFile(kaptManager)
|
||||
|
||||
project.initKapt(kotlinTask, javaTask, kaptManager, variantDataName, kotlinOutputDir, subpluginEnvironment) {
|
||||
project.initKapt(kotlinTask, javaTask, kaptManager, variantDataName,
|
||||
kotlinOutputDir, kotlinOptions, subpluginEnvironment) {
|
||||
tasksProvider.createKotlinJVMTask(project, kotlinTaskName + KOTLIN_AFTER_JAVA_TASK_SUFFIX)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user