From dc8eb7446f4b1f8f7d36d99cdb6ab6be2363206a Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 16 Mar 2018 20:37:40 +0300 Subject: [PATCH] Kapt, minor: make Gradle API a bit cleaner --- .../jetbrains/kotlin/gradle/plugin/KaptExtension.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt index 77fbeea3159..789a6ce38e8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KaptExtension.kt @@ -32,6 +32,7 @@ open class KaptExtension { open var mapDiagnosticLocations: Boolean = false + @Deprecated("Use `annotationProcessor()` and `annotationProcessors()` instead") open var processors: String = "" /** Explicit opt-in switch for Kapt caching. Should be used when annotation processors used by this project are @@ -48,6 +49,15 @@ open class KaptExtension { private var apOptionsClosure: Closure<*>? = null private var javacOptionsClosure: Closure<*>? = null + open fun annotationProcessor(fqName: String) { + val oldProcessors = this.processors + this.processors = if (oldProcessors.isEmpty()) fqName else "$oldProcessors,$fqName" + } + + open fun annotationProcessors(vararg fqName: String) { + fqName.forEach(this::annotationProcessor) + } + open fun arguments(closure: Closure<*>) { apOptionsActions += { apOptions -> apOptions.execute(closure)