kapt: Pass annotation declarations options via Java APT options

This commit is contained in:
Yan Zhulanow
2015-06-18 15:24:11 +03:00
parent 205585c63e
commit d9ac8c9d22
4 changed files with 63 additions and 45 deletions
@@ -50,7 +50,7 @@ public class AnnotationProcessingManager(
}
fun getAnnotationFile(): File {
aptWorkingDir.mkdirs()
if (!aptWorkingDir.exists()) aptWorkingDir.mkdirs()
return File(aptWorkingDir, "$WRAPPERS_DIRECTORY/annotations.$taskQualifier.txt")
}
@@ -72,6 +72,7 @@ public class AnnotationProcessingManager(
addGeneratedSourcesOutputToCompilerArgs(javaTask, aptOutputDir)
appendAnnotationsFileLocationArgument()
appendAdditionalComplerArgs()
}
@@ -99,6 +100,12 @@ public class AnnotationProcessingManager(
javaTask.source(javaAptSourceDir)
}
private fun appendAnnotationsFileLocationArgument() {
javaTask.modifyCompilerArguments { list ->
list.add("-Akapt.annotations=" + getAnnotationFile())
}
}
private fun appendAdditionalComplerArgs() {
val kaptExtension = project.getExtensions().getByType(javaClass<KaptExtension>())
val args = kaptExtension.getAdditionalArguments(project, androidVariant, getAndroidExtension())