Add option to skip @Generated annotation #6
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an additional annotation parameter to
@GenerateEmbeddedDSL
that allows to skip the@Generated
annotation in the generated DSL class. The two main motivations behind this are:Allowing to build cross-version compatible JARs. Currently, if one uses the duzzt processor on JRE 8, the generated class will be annotated with
@javax.annotation.Generated
, an annotation that has been removed in JREs 11+. This forces end-users to include an additional dependency for newer JREs in order to use a product (e.g. AutomataLib/LearnLib) that uses duzzt.By providing said dependency, end-users may violate Oracle's binary code license, which states:
Even though the
@javax.annotation.Generated
is officially part of JRE 8, addingjavax
annotations to environments where they are not present (JRE 11+) may be interpreted as adding behavior, which would then prevent end-users to use products (e.g. AutomataLib/LearnLib) in a binary distribution with Oracle's JVM.This feature is fully backwards-compatible, as this additional functionality is disabled by default and hence behaves like the current/latest version.