From 3ea4306eb9d941135101edb7643f2f37b2b28535 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 11 Jun 2015 22:41:14 +0300 Subject: [PATCH] kapt: Generate stub source file just after Kotlin compile --- .../kotlin/gradle/internal/AnnotationProcessingManager.kt | 6 ++---- .../org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 4 ++++ 2 files changed, 6 insertions(+), 4 deletions(-) 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 eb16446be06..56aceb39c8e 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 @@ -57,8 +57,6 @@ public class AnnotationProcessingManager( project.getLogger().warn("Please do not use `$ANDROID_APT_PLUGIN_ID` with kapt.") } - generateJavaHackFile(aptWorkingDir, javaTask) - val annotationProcessorFqNames = lookupAnnotationProcessors(aptFiles) val stubOutputDir = File(aptWorkingDir, WRAPPERS_DIRECTORY) @@ -80,8 +78,8 @@ public class AnnotationProcessingManager( } } - private fun generateJavaHackFile(aptDir: File, javaTask: JavaCompile) { - val javaAptSourceDir = File(aptDir, "java_src") + fun generateJavaHackFile() { + val javaAptSourceDir = File(aptWorkingDir, "java_src") val javaHackPackageDir = File(javaAptSourceDir, GEN_ANNOTATION) javaHackPackageDir.mkdirs() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index 192ef252116..f5d2632d821 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -608,6 +608,10 @@ private fun Project.initKapt( kotlinTask.getLogger().kotlinDebug("kapt: Class file stubs are not used") } + kotlinTask.doFirst { + kaptManager.generateJavaHackFile() + } + javaTask.doFirst { kaptManager.setupKapt() kotlinAfterJavaTask?.setClasspath(files(kotlinTask.getClasspath(), javaTask.getDestinationDir()))