Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !5332

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

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jim Schubert requested to merge github/fork/jimschubert/dry-run into master Feb 15, 2020
  • Overview 0
  • Commits 2
  • Pipelines 0
  • Changes 7

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

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/jimschubert/dry-run