27 lines
1.5 KiB
Plaintext
27 lines
1.5 KiB
Plaintext
== 1. in-memory compile: Person + Main, BuilderProcessor supplied directly
|
|
success=true generated=[com.acme.PersonBuilder]
|
|
classes=[com.acme.Main, com.acme.Person, com.acme.PersonBuilder]
|
|
|
|
== 2. error cases: javac diagnostics produced via Messager
|
|
interface -> ERROR /com/acme/Shape.java:4: @GenerateBuilder can only be applied to a class or a record, not to interface
|
|
abstract class -> ERROR /com/acme/Animal.java:4: @GenerateBuilder cannot be applied to abstract class Animal
|
|
two constructors -> ERROR /com/acme/Point.java:4: Point must have exactly one non-private constructor, but has 2
|
|
generic class -> ERROR /com/acme/Box.java:4: @GenerateBuilder does not support generic types such as Box
|
|
|
|
== 3. rounds, with -Abuilder.debug=true
|
|
builder round 1: annotations=[com.ankurm.builder.GenerateBuilder] roots=[com.acme.Person] processingOver=false
|
|
builder round 2: annotations=[] roots=[com.acme.PersonBuilder] processingOver=false
|
|
builder round 3: annotations=[] roots=[] processingOver=true
|
|
|
|
== 4. no setProcessors(): discovered through META-INF/services via -processorpath
|
|
success=true generated=[com.acme.PersonBuilder]
|
|
|
|
== 5. -proc:none: the processor never runs
|
|
success=false generated=[]
|
|
ERROR /com/acme/Main.java:5: cannot find symbol
|
|
|
|
== 6. a processor that forgot @SupportedSourceVersion
|
|
WARNING: No SupportedSourceVersion annotation found on com.ankurm.builder.LazyProcessor, returning RELEASE_6.
|
|
WARNING: Supported source version 'RELEASE_6' from annotation processor 'com.ankurm.builder.LazyProcessor' less than -source '25'
|
|
|