Loads an annotation processor from the specified saker.nest bundle.
The returned configuration can be used with saker.java.compile().
The task will look up the specified bundle and load the given processor class.
Summary
Aggregating | Specifies whether or not the processor aggregates its input to generate classes or resources. |
AlwaysRun | Specifies whether to given processor should always run, even if there are no relevant source element changes. |
Bundle | Required parameter. Specifies the bundle from which the annotation processor should be loaded.
|
Class | Required parameter. Specifies the class name of the processor to be loaded.
|
Consistent | Specifies whether or not the processor is Consistent. |
Parameters
Specifies whether or not the processor aggregates its input to generate classes or resources.
The default value is true. A processor is considered to be Aggregating if there exists an addition-wise modification to the compiled Java classes that causes it to generate different classes or resources.
E.g. if a processor generates a list of classes that were compiled, then it is considered to be Aggregating, as adding a new class will result in generating a different list.
E.g. if a processor generates one resource for each one of the input Java classes, then it is NOT considered to be aggregating, as the previously generated resources are still the same. The only change happens is that the processor will create a new resource for the newly added class.
In general, if your processor generates resources in a multi->one relation, then it should be Aggregating. We recommend extensive testing before setting a process configuration to non-Aggregating.
This value may be overriden by the saker.java.compile() AnnotationProcessor parameter.
Specifies whether to given processor should always run, even if there are no relevant source element changes.
The default value is false.
This value may be overriden by the saker.java.compile() AnnotationProcessor parameter.
Required parameter.
Specifies the bundle from which the annotation processor should be loaded.
The parameter takes the bundle identifier of the bundle which whill be looked up according to the current bundle storage configuration.
The bundle identifier is not required to have a version qualifier.Required parameter.
Specifies the class name of the processor to be loaded.
The class name must be explicitly specified in order to avoid ambiguity. The task implementation doesn't use ServiceLoader or other automatic discovery mechanisms.Specifies whether or not the processor is Consistent.
The default value is true. A processor is considered to be consistent if it doesn't generate different classes or resources based on environmental changes not visible to the Java comiler.
E.g. a processor that includes the current date in the generated classes or resources is NOT consistent.
This value may be overriden by the saker.java.compile() AnnotationProcessor parameter.