-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Create reusable feature metadata for all generators #840
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Milestone
Comments
jimschubert
added a commit
that referenced
this issue
May 4, 2019
GeneratorMetadata offers an immutable object created via Builder pattern which allows generators to explicitly define their stability (stable, beta, experimental, deprecated) as well as a message to be shown during generation. This is a step toward: * Fleshing out the "Core" artifact (#845) * Providing a place to encapsulate feature-oriented metadata (#840) * Providing a means to communicate end of life scheduling (#116) This new structure, specifically the Stability property, allows us to offer future enhancements such as allowing users to filter down to only "Stable" generators via CLI, and eventually any compat table (see #503).
4 tasks
jimschubert
added a commit
that referenced
this issue
May 5, 2019
* [feat] Intro GeneratorMetadata (stability index) GeneratorMetadata offers an immutable object created via Builder pattern which allows generators to explicitly define their stability (stable, beta, experimental, deprecated) as well as a message to be shown during generation. This is a step toward: * Fleshing out the "Core" artifact (#845) * Providing a place to encapsulate feature-oriented metadata (#840) * Providing a means to communicate end of life scheduling (#116) This new structure, specifically the Stability property, allows us to offer future enhancements such as allowing users to filter down to only "Stable" generators via CLI, and eventually any compat table (see #503). * Mark deprecated generators as deprecated in-code * Re-export docs/generators.md
4 tasks
Closed via #3614 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
As discussed in #503, this would be a starting point for creating a compatibility matrix. We need some way for generators to define all feature sets supported by the generator.
We need to take into consideration that a base (abstract) type used across multiple generators may implement more features than a subtype intends to support. This means we need to be able to mutate the feature metadata from derived types.
Related issues/PRs
Suggest a fix/enhancement
I have a prototype in which I created a bitmask type in Kotlin, and apply feature sets as properties.
The feature sets I created are:
Click to expand Bitmask/Feature snippet
Types representing generator options then include these as properties:
Click to expand interface example
Following a similar approach here would allow us to extract information about all generators and their supported feature set using reflection.
We should also eventually be able to automate templating tests related to features as well.
The text was updated successfully, but these errors were encountered: