APT: Remove stub Java file after Java compile step

This commit is contained in:
Yan Zhulanow
2015-05-25 21:45:55 +03:00
parent 0a450c1739
commit cbe435ccef
2 changed files with 15 additions and 1 deletions
@@ -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()
@@ -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()
}
}
}