Skip to content

[cli] Full config help details - #4928

Merged
jimschubert merged 2 commits into
masterfrom
full-config-help-details
Jan 7, 2020
Merged

[cli] Full config help details#4928
jimschubert merged 2 commits into
masterfrom
full-config-help-details

Conversation

@jimschubert

@jimschubertjimschubert commented Jan 5, 2020

Copy link
Copy Markdown
Member

Extends the config-help command for formatted output of things like instantiation type mappings, import mappings, etc. Not included here is supporting files because these are almost always set at processOpts time, meaning we'd need to have a dry-run option on the generate command for those outputs.

I haven't enabled the outputs by default. Looking for contributor feedback first. I think this would be an excellent addition to the generator docs that we auto-generate.

Adds boolean options for which output user is looking for, including a full-details option for all.

NAME
openapi-generator-cli config-help - Config help for chosen lang
SYNOPSIS
openapi-generator-cli config-help
[(-f <output format> | --format <output format>)] [--full-details]
[(-g <generator name> | --generator-name <generator name>)]
[--import-mappings] [--instantiation-types]
[--language-specific-primitive] [--markdown-header] [--named-header]
[(-o <output location> | --output <output location>)] [--reserved-words]
OPTIONS
-f <output format>, --format <output format>
Write output files in the desired format. Options are 'text',
'markdown' or 'yamlsample'. Default is 'text'.
--full-details
displays CLI options as well as other configs/mappings (implies
--instantiation-types, --reserved-words,
--language-specific-primitives, --import-mappings,
--supporting-files)
-g <generator name>, --generator-name <generator name>
generator to get config help for
--import-mappings
displays the default import mappings (types and aliases, and what
imports they will pull into the template)
--instantiation-types
displays types used to instantiate simple type/alias names
--language-specific-primitive
displays the language specific primitives (types which require no
additional imports, or which may conflict with user defined model
names)
--markdown-header
When format=markdown, include this option to write out markdown
headers (e.g. for docusaurus).
--named-header
Header includes the generator name, for clarity in output
-o <output location>, --output <output location>
Optionally write help to this location, otherwise default is
standard output
--reserved-words
displays the reserved words which may result in renamed model or
property names

Plain text output example

image

Formatted markdown output example

image

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

@auto-labeler

Copy link
Copy Markdown

👍 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

Copy link
Copy Markdown
MemberAuthor

cc @OpenAPITools/generator-core-team

@jimschubert

Copy link
Copy Markdown
MemberAuthor

I didn't output yamlsample because I'm not sure exactly what this format output is used for, or how the above would fit into that formatted output.

@jimschubertjimschubert added this to the 4.2.3 milestone Jan 7, 2020
@jimschubert
jimschubert merged commit e23f2aa into masterJan 7, 2020
@jimschubert
jimschubert deleted the full-config-help-details branch January 7, 2020 18:34
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Jan 11, 2020
* master: (187 commits)
[core] Initial FeatureSet structures and definitions (OpenAPITools#3614)
Add Cisco to the user list (OpenAPITools#4971)
comment out php slim4 in ensure-up-to-date
update samples
[Python] Allow models to have properties of type self (OpenAPITools#4888)
Add npmRepository option to javascript generators (OpenAPITools#4956)
[Slim4] Add ref support to Data Mocker (OpenAPITools#4932)
Fix auto-labeler for jax-rs (OpenAPITools#4943)
[doc] full generator details (OpenAPITools#4941)
comment out python flask 2 test (OpenAPITools#4949)
[jaxrs-spec][quarkus] update to version 1.1.1.Final (OpenAPITools#4935)
[cli] Full config help details (OpenAPITools#4928)
Add RequestFile to typescript-node model template (OpenAPITools#4903)
[csharp] enum suffix changes enumValueNameSuffix to enumValueSuffix (OpenAPITools#4927)
[C#] allow customization of generated enum suffixes (OpenAPITools#4301)
[Kotlin] Correct isInherited flag for Kotlin generators (OpenAPITools#4254)
[Rust Server] Fix panic handling headers (OpenAPITools#4877)
Initial CODEOWNERS (OpenAPITools#4924)
[scala] Support for Set when array has uniqueItems=true (OpenAPITools#4926)
remove nodejs server samples, scripts (OpenAPITools#4919)
...
Sign up for freeto 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

@jimschubert