apply plugin: 'kotlin-kapt'
dependencies {
...
kapt "org.jetbrains.kotlin:kotlin-annotation-processing:$kotlin_version"
...
}
kapt {
generateStubs = true
}
kotlin
@Retention(AnnotationRetention.SOURCE)
@Target(AnnotationTarget.CLASS)
annotation class Log
kotlin
@AutoService(Processor::class)
class LogProcessor : AbstractProcessor() {
override fun getSupportedAnnotationTypes(): MutableSet<String> {
return mutableSetOf(Log::class.java.canonicalName)
}
override fun process(
annotations: MutableSet<out TypeElement>?,
roundEnv: RoundEnvironment?
): Boolean {
val elements = roundEnv?.getElementsAnnotatedWith(Log::class.java)
return true
}
}
groovy
plugins {
id 'java-library'
id 'kotlin'
id 'kotlin-kapt'
}
dependencies {
...
kapt "org.jetbrains.kotlin:kotlin-annotation-processing:$kotlin_version"
implementation 'com.google.auto.service:auto-service:1.0-rc7'
...
}