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

Improve generation of selected models with dependent models #18462

Conversation

0x0-pavel-0x0
Copy link
Contributor

fix Issue-18444

added new option: generateRecursiveDependentModels - generate the models recursively if models should generate selectively (see modelsToGenerate) and all dependent models will be generated too

  • all models for variables mentioned in selected models will be generated
  • parent models of generated models will be generated

@bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10) @martin-mfg (2023/08)

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/configs/*.yaml
    ./bin/utils/export_docs_generators.sh
    
    (For Windows users, please run the script in Git BASH)
    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*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • File the PR against the correct branch: master (upcoming 7.1.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

*/
@Parameter(name = "generateRecursiveDependentModels", property = "openapi.generator.maven.plugin.generateRecursiveDependentModels")
private Boolean generateRecursiveDependentModels = false;

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

personally i suggest we start without another option and simply enable this in the generateModels feature.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would change the behavior of the option a lot. This would possibly break the processes of the users of the project. Because suddenly much more would be generated than expected. Backwards compatibility was the driving force behind the option. If removing the option is still desired, I can do so and thereby break backwards compatibility.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if this result in additionl files not wanted by the users, they can use openapi gernator ignore list to skip those models

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now I have a huge list of models to generate. Without the switch another one will have a huge list to skip models. I mean to have a posibility to give some list to generate or skip is good. But the change behavior of generating is another point, I think.

@wing328
Copy link
Member

wing328 commented May 15, 2024

can you please resolve the merge conflicts when you've time?

we will try to get it merged before the v7.6.0 release this weekend

@0x0-pavel-0x0
Copy link
Contributor Author

can you please resolve the merge conflicts when you've time?

we will try to get it merged before the v7.6.0 release this weekend

done

@wing328 wing328 added this to the 7.6.0 milestone May 19, 2024
@wing328 wing328 changed the title Issue 18444 generation of selected models with dependent models eneration of selected models with dependent models May 19, 2024
@wing328 wing328 changed the title eneration of selected models with dependent models generation of selected models with dependent models May 19, 2024
@wing328 wing328 changed the title generation of selected models with dependent models Improve generation of selected models with dependent models May 19, 2024
@wing328 wing328 merged commit 33617ee into OpenAPITools:master May 19, 2024
16 checks passed
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][REQ][JAVA] generation of selected models with dependent models
2 participants