From cbe435ccef927e9b6370ac8783d0e6f47d9b447d Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 25 May 2015 21:45:55 +0300 Subject: [PATCH] APT: Remove stub Java file after Java compile step --- .../kotlin/gradle/internal/AnnotationProcessingManager.kt | 8 +++++++- .../org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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 bb8bd86d3e7..046b2851153 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 @@ -39,6 +39,7 @@ public class AnnotationProcessingManager( val JAVA_FQNAME_PATTERN = "^([\\p{L}_$][\\p{L}\\p{N}_$]*\\.)*[\\p{L}_$][\\p{L}\\p{N}_$]*$".toRegex() val WRAPPERS_DIRECTORY = "wrappers" val ANNOTATIONS_FILENAME = "annotations.kotlin.txt" + val GEN_ANNOTATION = "__gen/annotation" } fun getAnnotationFile(): File { @@ -59,9 +60,14 @@ public class AnnotationProcessingManager( addGeneratedSourcesOutputToCompilerArgs(javaTask, aptOutputDir) } + fun afterJavaCompile() { + val generatedFile = File(javaTask.getDestinationDir(), "$GEN_ANNOTATION/Cl.class") + if (generatedFile.exists()) generatedFile.delete() + } + private fun generateJavaHackFile(aptDir: File, javaTask: JavaCompile) { val javaAptSourceDir = File(aptDir, "java_src") - val javaHackPackageDir = File(javaAptSourceDir, "__gen/annotation") + 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 18f8692e884..57cfe901351 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 @@ -174,6 +174,10 @@ class Kotlin2JvmSourceSetProcessor( javaTask.doFirst { kaptManager.setupKapt() } + + javaTask.doLast { + kaptManager.afterJavaCompile() + } } } } @@ -443,6 +447,10 @@ open class KotlinAndroidPlugin [Inject] (val scriptHandler: ScriptHandler, val t javaTask.setClasspath(javaTask.getClasspath() + project.files(kotlinTask.property("kotlinDestinationDir"))) kaptManager?.setupKapt() } + + javaTask doLast { + kaptManager?.afterJavaCompile() + } } }