Repository navigation
Conversation
There was a problem hiding this comment.
3 issues found across 7 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
thanks for the PR cc @karismann (2019/03) @Zomzog (2019/04) @andrewemery (2019/10) @4brunu (2019/11) @yutaka0m (2020/03) @stefankoppier (2022/06) @e5l (2024/10) @dennisameling (2026/02) |
|
please review the build failure and the feedback from cubic-dev-ai when you've time. |
There was a problem hiding this comment.
1 issue found across 3 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
Thanks for the PR but your commit (as shown in the Commits tab) is not linked to your Github account, which means this PR won't count as your contribution in https://github.com/OpenAPITools/openapi-generator/graphs/contributors. Let me know if you need help fixing it. |
7561bc3 to
7facfa2
Compare
Thanks for the heads up! I've altered the history to reflect my GH user |
|
@rm127 I don't use Kotlin... Then all languages can use the feature Just my 2 cents |
I'm not sure I follow how these would be relevant in the normalization stage? Furthermore I don't think having the different "modes" split across multiple classes helps with readability. |
Preserve inherited optional types and discriminator round trips, enforce required JSON field semantics, and retain nullable Mutiny responses. Add synthetic compilation and Jackson regressions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Following up after roughly three months: I revisited this PR while validating an end-to-end Kotlin/JAX-RS migration, rather than just inspecting the generated source. Compiling and exercising the generated models exposed gaps in the original implementation: optional inherited properties could have incompatible nullability, discriminated unions were not consistently emitted as usable Jackson hierarchies, and required-nullable fields and bodyless Mutiny responses needed their Kotlin/JSON semantics preserved. The new commit addresses those findings and adds synthetic compilation and Jackson regression tests. This is a correctness follow-up to the original inheritance work, not a rebase or unrelated cleanup. 44 targeted generator tests and Checkstyle pass. The PR description now states the supported modes, limitations and remaining repository-wide checks explicitly. |
There was a problem hiding this comment.
All reported issues were addressed across 14 files
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
Preserve overrides and immediate-parent constructor arguments in nested hierarchies, flatten union metadata in none mode, and honor discriminator visibility. Make the fixture discriminator required and keep handwritten guidance outside generated docs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
All reported issues were addressed across 7 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
Explicitly reject nullable forms of inherited required properties in source assertions and clarify that optional properties preserve declared schema defaults. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Addresses #11552.
Related to #12065; this does not add a dedicated Quarkus generator.
Adds configurable inheritance handling to
kotlin-serverso discriminator-based models can compile and round-trip through Jackson, including withjaxrs-spec.inheritanceMode=none|sealed|abstract|composition; defaults toabstractfor JAX-RS andsealedfor Ktor/Javalin. Invalid combinations are rejected.@NotNull.noneis non-polymorphic;compositionproduces wrappers rather than wire-compatible polymorphism. Discriminated objectallOf/oneOf/anyOfhierarchies are covered; arbitrary JSON Schema unions and missing-versus-null tracking are not.Verification
45 targeted generator tests pass, including nested discriminator inheritance, flat union models, configured visibility, compilation across supported JAX-RS modes with serialization enabled/disabled, discriminator round trips and invalid-input rejection. Checkstyle passes. Regression fixtures are synthetic; no application-specific code or contracts are included.
See the JAX-RS guide for nullability semantics and limitations; the option reference is generated from the code.
PR checklist