Skip to content
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

[cli][core] Add support for dry-run and display #5332

Merged
merged 2 commits into from
Feb 19, 2020

Conversation

jimschubert
Copy link
Member

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

This cleans up some lint warnings and improve 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)
CLI now supports `--dry-run`, which will output a file change status
similar to git status --porcelain.

The user may also specify `--verbose` for a one-liner below each file
explaining why the change operation might take place.
@auto-labeler
Copy link

auto-labeler bot commented Feb 15, 2020

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@jimschubert jimschubert merged commit db47b95 into OpenAPITools:master Feb 19, 2020
@jimschubert jimschubert deleted the dry-run branch February 19, 2020 02:40
MikailBag pushed a commit to MikailBag/openapi-generator that referenced this pull request Mar 23, 2020
* 👕🎨 Minor refactor DefaultGenerator

This cleans up some lint warnings and improve 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)

* [cli][core] Add support for dry-run and display

CLI now supports `--dry-run`, which will output a file change status
similar to git status --porcelain.

The user may also specify `--verbose` for a one-liner below each file
explaining why the change operation might take place.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant