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

[dart] Improve types & imports #9167

Merged
merged 4 commits into from
Apr 6, 2021
Merged

Conversation

kuhnroyal
Copy link
Contributor

@kuhnroyal kuhnroyal commented Apr 4, 2021

  • don't use importMapping as it is intended for something different that is not possible in dart
  • introduce imports map for dart specific features
  • always import dart:core
  • get rid of additionalReservedWords
  • fix --type-mappings not working
  • use required type mappings in samples
  • no longer define additional reserved words as it is impossible to list all anyways, they can now be configured via type-mapping parameter
  • improve dart-dio imports

Fixes #9029

I think this is a much better solution and allows customization via CLI or config parameters.
importMapping is meant to be used to map a class/type to that of a specific package, like List: java.util.List this is not possible in Dart. importMapping is being used internally in several places and if it is miss-used in the Dart generator as it was until now, it break the possibility of specifying typeMappings via CLI/config.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master, 5.1.x, 6.0.x
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

CC @swipesight (2018/09) @jaumard (2018/09) @josh-burton (2019/12) @amondnet (2019/12) @sbu-WBT (2020/12) @kuhnroyal (2020/12) @agilob (2020/12)

* don't use importMapping as it is intended for something different that is not possible in dart
* introduce imports map for dart specific features
* always import `dart:core`
* get rid of additionalReservedWords
* fix `--type-mappings` not working
* use required type mappings in samples
* no longer define additional reserved words  as it is impossible to list all anyways, they can now be configured via type-mapping parameter
* simplify dio imports
@auto-labeler
Copy link

auto-labeler bot commented Apr 4, 2021

👍 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.

@kuhnroyal
Copy link
Contributor Author

Any more questions for this?

@kuhnroyal
Copy link
Contributor Author

The linked issue was verified as fixed.
@wing328 I think this can be merged.

@wing328 wing328 added this to the 5.1.1 milestone Apr 6, 2021
@wing328 wing328 merged commit 065c028 into OpenAPITools:master Apr 6, 2021
@kuhnroyal kuhnroyal deleted the dart/types branch April 6, 2021 16:56
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.

[BUG][Dart] Generator creates a model class name that conflicts with a core lib class name (Type)
4 participants