[JAVA-SPRING;KOTLIN-SPRING]: honor useTags=false for HTTP interface libraries - #24862
[JAVA-SPRING;KOTLIN-SPRING]: honor useTags=false for HTTP interface libraries#24862Picazsoo wants to merge 6 commits into
useTags=false for HTTP interface libraries#24862Conversation
- SpringCodegen: include spring-http-interface in supportLibraryUseTags() so useTags=false groups operations by first path segment instead of tag. - KotlinSpringServerCodegen: include spring-declarative-http-interface in the addOperationToGroup path-grouping condition alongside spring-boot. spring-cloud was deliberately left out of this condition since useTags defaults to false there and changing it would alter existing default grouping behavior for that library. - Add regression tests covering useTags=false/true grouping for both spring-http-interface and spring-declarative-http-interface. - Update two pre-existing kotlin-spring tests whose expected output filenames assumed the old (buggy) tag-based grouping for spring-declarative-http-interface. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
useTags=false for HTTP interface libraries
There was a problem hiding this comment.
1 issue found across 29 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java">
<violation number="1" location="samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java:6">
P2: The sample regeneration left the old generated file FakeClassnameTags123Api.java behind in all four spring-http-interface sample directories (bean-validation, noResponseEntity, reactive-bean-validation, springboot-4). It is no longer listed in .openapi-generator/FILES and is no longer referenced (HttpInterfacesAbstractConfigurator now imports FakeClassnameTestApi), so it is dead code. Delete the stale FakeClassnameTags123Api.java in each directory when regenerating the samples so the sample dirs and the FILES manifest stay in sync.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| * https://openapi-generator.tech | ||
| * Do not edit the class manually. | ||
| */ | ||
| package org.openapitools.api; |
There was a problem hiding this comment.
P2: The sample regeneration left the old generated file FakeClassnameTags123Api.java behind in all four spring-http-interface sample directories (bean-validation, noResponseEntity, reactive-bean-validation, springboot-4). It is no longer listed in .openapi-generator/FILES and is no longer referenced (HttpInterfacesAbstractConfigurator now imports FakeClassnameTestApi), so it is dead code. Delete the stale FakeClassnameTags123Api.java in each directory when regenerating the samples so the sample dirs and the FILES manifest stay in sync.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At samples/client/petstore/spring-http-interface-bean-validation/src/main/java/org/openapitools/api/FakeClassnameTestApi.java, line 6:
<comment>The sample regeneration left the old generated file FakeClassnameTags123Api.java behind in all four spring-http-interface sample directories (bean-validation, noResponseEntity, reactive-bean-validation, springboot-4). It is no longer listed in .openapi-generator/FILES and is no longer referenced (HttpInterfacesAbstractConfigurator now imports FakeClassnameTestApi), so it is dead code. Delete the stale FakeClassnameTags123Api.java in each directory when regenerating the samples so the sample dirs and the FILES manifest stay in sync.</comment>
<file context>
@@ -0,0 +1,44 @@
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+package org.openapitools.api;
+
+import org.openapitools.model.ClientDto;
</file context>
There was a problem hiding this comment.
@cubic-dev-ai - this has been resolved. The files are no longer present AFAIK. Please re-review
There was a problem hiding this comment.
@Picazsoo I have started the AI code review. It will take a few minutes to complete.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
1 existing issue remains and no new issues found across 29 files
Requires human review: Auto-approval blocked by 4 unresolved issues from a previous review of this commit.
Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 29 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
All reported issues were addressed across 29 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PR checklist
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.
Summary by cubic
Fixes
useTags=falsebeing ignored for Spring HTTP interface libraries so operations group by first path segment instead of tag.spring-http-interfaceandspring-declarative-http-interfaceto the path-grouping condition.another-fakebecomesanotherFake), prefixes digit-leading segments withClass, and falls back toPathfor segments that sanitize to empty (e.g.@or!), with root paths grouped underdefault.anotherFake2,Path2).spring-cloudunchanged becauseuseTagsdefaults to false there, and altering it would change existing grouping behavior.useTags: "true"forspring-http-interface, which also renamesFakeClassnameTags123ApitoFakeClassnameTestApiand moves a few operations betweenFakeApiandPetApi.Written for commit 70948e0. Summary will update on new commits.