APT: Remove stub Java file after Java compile step
This commit is contained in:
+7
-1
@@ -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 JAVA_FQNAME_PATTERN = "^([\\p{L}_$][\\p{L}\\p{N}_$]*\\.)*[\\p{L}_$][\\p{L}\\p{N}_$]*$".toRegex()
|
||||||
val WRAPPERS_DIRECTORY = "wrappers"
|
val WRAPPERS_DIRECTORY = "wrappers"
|
||||||
val ANNOTATIONS_FILENAME = "annotations.kotlin.txt"
|
val ANNOTATIONS_FILENAME = "annotations.kotlin.txt"
|
||||||
|
val GEN_ANNOTATION = "__gen/annotation"
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getAnnotationFile(): File {
|
fun getAnnotationFile(): File {
|
||||||
@@ -59,9 +60,14 @@ public class AnnotationProcessingManager(
|
|||||||
addGeneratedSourcesOutputToCompilerArgs(javaTask, aptOutputDir)
|
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) {
|
private fun generateJavaHackFile(aptDir: File, javaTask: JavaCompile) {
|
||||||
val javaAptSourceDir = File(aptDir, "java_src")
|
val javaAptSourceDir = File(aptDir, "java_src")
|
||||||
val javaHackPackageDir = File(javaAptSourceDir, "__gen/annotation")
|
val javaHackPackageDir = File(javaAptSourceDir, GEN_ANNOTATION)
|
||||||
|
|
||||||
javaHackPackageDir.mkdirs()
|
javaHackPackageDir.mkdirs()
|
||||||
|
|
||||||
|
|||||||
+8
@@ -174,6 +174,10 @@ class Kotlin2JvmSourceSetProcessor(
|
|||||||
javaTask.doFirst {
|
javaTask.doFirst {
|
||||||
kaptManager.setupKapt()
|
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")))
|
javaTask.setClasspath(javaTask.getClasspath() + project.files(kotlinTask.property("kotlinDestinationDir")))
|
||||||
kaptManager?.setupKapt()
|
kaptManager?.setupKapt()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
javaTask doLast {
|
||||||
|
kaptManager?.afterJavaCompile()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user