Skip to content

Fix broken build on Windows OS if the schema contains references to other schema files #21300

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

Merged
merged 1 commit into from
May 20, 2025

Conversation

akuhtz
Copy link
Contributor

@akuhtz akuhtz commented May 19, 2025

Fix broken build on Windows OS if the schema contains references to other schema files. The same project configuration works under Linux without issues.
This is because the ${project.basedir} maven variable contains \ in the string representation and this causes the resolve of referenced schema files.

[INFO] --- openapi-generator:7.13.0:generate (default) @ ****-****-**** ---
[ERROR] Error resolving schema ./bidibnode.json#/$defs/node
java.net.URISyntaxException: Illegal character in opaque part at index 2: D:\sample\demo/src/main/resources/json-api/bidib.json
    at java.net.URI$Parser.fail (URI.java:2995)
    at java.net.URI$Parser.checkChars (URI.java:3166)
    at java.net.URI$Parser.parse (URI.java:3202)
    at java.net.URI.<init> (URI.java:645)
    at io.swagger.v3.parser.reference.ReferenceUtils.resolve (ReferenceUtils.java:29)
    at io.swagger.v3.parser.reference.ReferenceVisitor.resolveSchemaRef (ReferenceVisitor.java:227)
    at io.swagger.v3.parser.reference.ReferenceVisitor.visitSchema (ReferenceVisitor.java:141)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseSchema (OpenAPI31Traverser.java:790)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseMediaType (OpenAPI31Traverser.java:603)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseMap (OpenAPI31Traverser.java:933)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseResponse (OpenAPI31Traverser.java:299)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseMap (OpenAPI31Traverser.java:933)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseResponses (OpenAPI31Traverser.java:270)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseOperation (OpenAPI31Traverser.java:237)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traversePathItem (OpenAPI31Traverser.java:394)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseMap (OpenAPI31Traverser.java:933)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traversePaths (OpenAPI31Traverser.java:197)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverseOpenApi (OpenAPI31Traverser.java:124)
    at io.swagger.v3.parser.reference.OpenAPI31Traverser.traverse (OpenAPI31Traverser.java:65)
    at io.swagger.v3.parser.reference.OpenAPIDereferencer31.dereference (OpenAPIDereferencer31.java:74)
    at io.swagger.v3.parser.OpenAPIV3Parser.resolve (OpenAPIV3Parser.java:227)
    at io.swagger.v3.parser.OpenAPIV3Parser.readContents (OpenAPIV3Parser.java:183)
    at io.swagger.v3.parser.OpenAPIV3Parser.readLocation (OpenAPIV3Parser.java:97)
    at io.swagger.parser.OpenAPIParser.readLocation (OpenAPIParser.java:16)
    at org.openapitools.codegen.config.CodegenConfigurator.toContext (CodegenConfigurator.java:686)
    at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput (CodegenConfigurator.java:744)
    at org.openapitools.codegen.plugin.CodeGenMojo.execute (CodeGenMojo.java:966)

@wing328
Copy link
Member

wing328 commented May 19, 2025

@akuhtz akuhtz force-pushed the fix-windows-build branch from 3eba5f4 to ee7c4bf Compare May 19, 2025 13:03
@akuhtz
Copy link
Contributor Author

akuhtz commented May 19, 2025

@wing328 Thanks, I removed the tabs.

@wing328
Copy link
Member

wing328 commented May 19, 2025

did you test this fix locally to confirm it's working for your use cases on Windows?

@akuhtz
Copy link
Contributor Author

akuhtz commented May 19, 2025

Yes, I built it locally and tested it with my project before I created the PR.

@wing328
Copy link
Member

wing328 commented May 20, 2025

ok. let's give it a try

@wing328 wing328 merged commit 78b54b9 into OpenAPITools:master May 20, 2025
15 checks passed
@wing328 wing328 added this to the 7.14.0 milestone Jun 19, 2025
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.

2 participants