swagger-api / swagger-api/swagger-codegen
Update configuration, launcher interface
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 17.8k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
As the codegen model has evolved, we have a challenge with the configuration interface. Specifically with the introduction of the airline toolkit for parsing the CLI options, we've ended up with a bit of an abomination of arguments and system properties, all with the ability to be overridden with a configuration file.
The challenge (and why I pointed out airline) is that different targets will need have different needs for configuration options. There is no package in javascript, for example, but we always have a set of common needs, such as reading the specification from a specific location, etc.
I would like to redo the launcher aspect of codegen to include the following:
- Removal of the strict, annotation-based
airlinelibrary - Addition of another CLI parsing library that allows for short and extended args (
-hand--host, for example) - Standardization of some core arguments to parse. These will be constant across all targets
- A clear extension mechanism for adding new arguments for a specific library with descriptions and helpful information
- A method to load the arguments from a single JSON or YAML file
- Removal of all system properties when running the codegen. These are creating issues with CI tools and are just ugly
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.