Kapt: Add tests for the command-line 'kapt' tool

This commit is contained in:
Yan Zhulanow
2018-10-31 12:08:28 +09:00
parent 6e5eb0fdd4
commit 69ec958aab
36 changed files with 852 additions and 1 deletions
@@ -0,0 +1,25 @@
package apt
import javax.annotation.processing.*
import javax.lang.model.SourceVersion
import javax.lang.model.element.TypeElement
import javax.tools.Diagnostic.Kind.*
annotation class Anno
class SampleApt : AbstractProcessor() {
override fun process(annotations: Set<TypeElement>, roundEnv: RoundEnvironment): Boolean {
for (element in roundEnv.getElementsAnnotatedWith(Anno::class.java)) {
val generatedSimpleName = element.simpleName.toString().capitalize()
processingEnv.filer.createSourceFile("generated.$generatedSimpleName").openWriter().use {
it.write("package generated;\npublic class $generatedSimpleName {}")
}
}
return true
}
override fun getSupportedOptions() = emptySet<String>()
override fun getSupportedSourceVersion() = SourceVersion.RELEASE_8
override fun getSupportedAnnotationTypes() = setOf("apt.Anno")
}