CLI now supports --dry-run
, which will output a file change status similar to git status --porcelain. This option aligns with #1811 for providing users and template authors more details about targeted outputs. This --dry-run
option will be necessary in order to present users with vendor extensions which heavily rely on the generator inputs and often on logic defined by some generator implementations which is only evaluated during generation.
The user may also specify --verbose
for a one-liner below each file explaining why the change operation might take place.
This PR also cleans up some lint warnings and improves general code cleanliness of DefaultGenerator.
Specifically:
- logger strings are now using the built-in log formatter rather than constructing new strings regardless of log level.
- Diamond operators are used where possible
- Some long-unused commented code has been removed
- Lambdas are used where possible
- Redundant operations are merged (HashMap constructor used rather than subsequent putAll on a collection, for example)
PR checklist
-
Read the contribution guidelines. -
If contributing template-only or documentation-only changes which will change sample output, build the project before. -
Run the shell script(s) under ./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc). -
File the PR against the correct branch: master
,4.3.x
,5.0.x
. Default:master
. -
Copy the technical committee to review the pull request if your PR is targeting a particular programming language.
cc @OpenAPITools/generator-core-team