diff --git a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KaptOptions.kt b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KaptOptions.kt index c525b9fda2f..67550f67157 100644 --- a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KaptOptions.kt +++ b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KaptOptions.kt @@ -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 } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 7e558c6239d..f96553d7923 100644 --- a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -156,7 +156,6 @@ open class KotlinCompile() : AbstractKotlinCompile() { } private var kaptAnnotationsFileUpdater: AnnotationFileUpdater? = null - private var kaptStubGeneratingMode = false val kaptOptions = KaptOptions() val pluginOptions = CompilerPluginOptions() @@ -484,9 +483,8 @@ open class KotlinCompile() : AbstractKotlinCompile() { 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) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt index 37a6ce8be06..cd842e3e081 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt @@ -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 }