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

Add support for generating a Set for a list with uniqueItems set to true #9849

Conversation

marcdejonge
Copy link
Contributor

@marcdejonge marcdejonge commented Jun 25, 2021

To fix #9848

This specifically adds support for a Set type when a model with an array has uniqueItems set to true. This only changes the KotlinClientGenerator template, since that one was missing specific support for it. The tests run agains all 5 generators, but the rest seem to work fine.

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.

@marcdejonge
Copy link
Contributor Author

@jimschubert @dr4ke616 @karismann @Zomzog @andrewemery @4brunu @yutaka0m

Is this the correct solution? I'd much rather go back to the {{{dataType}}} solution, but then it would break the kotlinx-serializer I think.

@4brunu
Copy link
Contributor

4brunu commented Jun 28, 2021

Instead of changing the template, what about changing the java file?
#6773
Here is an example of something similar in the swift client.

@marcdejonge
Copy link
Contributor Author

Instead of changing the template, what about changing the java file?
#6773
Here is an example of something similar in the swift client.

I agree, but the template already doesn't use the dataType at all. The code already contains the logic for using a Set instead of a List (for the kotlin server templates it works fine). I don't know how else to solve this.

@4brunu
Copy link
Contributor

4brunu commented Jun 30, 2021

Thanks, let's go with this solution 👍

@wing328 wing328 added this to the 5.2.0 milestone Jul 1, 2021
@wing328 wing328 changed the title #9848 Add support for generating a Set for a list with uniqueItems se… Add support for generating a Set for a list with uniqueItems set to true Jul 1, 2021
@wing328 wing328 merged commit bba2327 into OpenAPITools:master Jul 1, 2021
@marcdejonge marcdejonge deleted the 9848-kotlin-use-set-for-uniqueItems-array branch July 1, 2021 10:06
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.

[REQ] [Kotlin] Use kotlin.Set for an array with uniqueItems set to true
3 participants