quarkiverse / quarkus-openapi-generator

OpenAPI Generator - REST Client Generator
Apache License 2.0
119 stars 80 forks source link

server - project generation failed #772

Open muguntha-kumar opened 1 month ago

muguntha-kumar commented 1 month ago

When I try to generate serever code for my OpenAPI spec, for this application.properties :

quarkus.openapi.generator.spec=xyz.yaml
quarkus.openapi.generator.base-package=com.foo.api.esg
quarkus.openapi.generator.input-base-dir=src/main/resources/openapi

#quarkus.openapi.generator.server.spec=xyz.yaml
#quarkus.openapi.generator.server.base-package=com.foo.api.esg
#quarkus.openapi.generator.server.input-base-dir=src/main/resources/openapi/

I get the below error. I tried it with the suffix '.server' too.

Server Stack Trace: java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 11 at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55) at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210) at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112) at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349) at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4865) at java.base/java.lang.String.substring(String.java:2834) at java.base/java.lang.String.substring(String.java:2807) at io.apicurio.hub.api.codegen.jaxrs.OpenApi2CodegenVisitor.methodPath(OpenApi2CodegenVisitor.java:511) at io.apicurio.hub.api.codegen.jaxrs.OpenApi2CodegenVisitor.visitOperation(OpenApi2CodegenVisitor.java:181) at io.apicurio.datamodels.models.openapi.v31.OpenApi31OperationImpl.accept(OpenApi31OperationImpl.java:300) at io.apicurio.datamodels.models.openapi.v31.visitors.OpenApi31Traverser.visitOperation(OpenApi31Traverser.java:272) at io.apicurio.datamodels.models.openapi.v31.OpenApi31OperationImpl.accept(OpenApi31OperationImpl.java:300) at io.apicurio.datamodels.models.visitors.AbstractTraverser.doTraverseNode(AbstractTraverser.java:39) at io.apicurio.datamodels.models.visitors.AbstractTraverser.traverseNode(AbstractTraverser.java:51) at io.apicurio.datamodels.models.openapi.v31.visitors.OpenApi31Traverser.visitPathItem(OpenApi31Traverser.java:171) at io.apicurio.datamodels.models.openapi.v31.OpenApi31PathItemImpl.accept(OpenApi31PathItemImpl.java:247) at io.apicurio.datamodels.models.visitors.AbstractTraverser.doTraverseNode(AbstractTraverser.java:39) at io.apicurio.datamodels.models.visitors.AbstractTraverser.lambda$traverseMappedNode$1(AbstractTraverser.java:116) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at io.apicurio.datamodels.models.visitors.AbstractTraverser.traverseMappedNode(AbstractTraverser.java:112) at io.apicurio.datamodels.models.openapi.v31.visitors.OpenApi31Traverser.visitPaths(OpenApi31Traverser.java:150) at io.apicurio.datamodels.models.openapi.v31.OpenApi31PathsImpl.accept(OpenApi31PathsImpl.java:85) at io.apicurio.datamodels.models.visitors.AbstractTraverser.doTraverseNode(AbstractTraverser.java:39) at io.apicurio.datamodels.models.visitors.AbstractTraverser.traverseNode(AbstractTraverser.java:51) at io.apicurio.datamodels.models.openapi.v31.visitors.OpenApi31Traverser.visitDocument(OpenApi31Traverser.java:253) at io.apicurio.datamodels.models.openapi.v31.OpenApi31DocumentImpl.accept(OpenApi31DocumentImpl.java:291) at io.apicurio.datamodels.models.visitors.AbstractTraverser.traverse(AbstractTraverser.java:153) at io.apicurio.datamodels.VisitorUtil.visitTree(VisitorUtil.java:82) at io.apicurio.hub.api.codegen.OpenApi2JaxRs.getInfoFromApiDoc(OpenApi2JaxRs.java:367) at io.apicurio.hub.api.codegen.OpenApi2JaxRs.generate(OpenApi2JaxRs.java:215) at io.quarkiverse.openapi.server.generator.deployment.codegen.ApicurioCodegenWrapper.generate(ApicurioCodegenWrapper.java:69) at io.quarkiverse.openapi.server.generator.deployment.codegen.ApicurioOpenApiServerCodegen.trigger(ApicurioOpenApiServerCodegen.java:87) at io.quarkus.deployment.CodeGenerator.lambda$trigger$4(CodeGenerator.java:206) at io.quarkus.deployment.CodeGenerator.callWithClassloader(CodeGenerator.java:181) at io.quarkus.deployment.CodeGenerator.trigger(CodeGenerator.java:203) at io.quarkus.deployment.CodeGenerator.initAndRun(CodeGenerator.java:80) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at io.quarkus.maven.GenerateCodeMojo.generateCode(GenerateCodeMojo.java:88) at io.quarkus.maven.GenerateCodeMojo.doExecute(GenerateCodeMojo.java:54) at io.quarkus.maven.QuarkusBootstrapMojo.execute(QuarkusBootstrapMojo.java:171) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:903) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:280) at org.apache.maven.cli.MavenCli.main(MavenCli.java:203) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314) at org.codehaus.classworlds.Launcher.main(Launcher.java:41)

carlesarnal commented 1 week ago

Hello @muguntha-kumar,

I would need a bit more information, especially if you can share the problematic openapi file, that would be great, thanks!