Closed carlesarnal closed 1 year ago
/cc @EricWittmann, @MikeEdgar, @phillip-kruger
An extension is in progress in the Quarkiverse now: https://github.com/quarkiverse/quarkus-openapi-generator .
@gsmet Actually, the extension I was proposing was to generate the server-side part, not the client. I think the one you're pointing can be used to generate rest clients, no?
Ah you're right, I missed this extension was only about clients. The name is not ideal then :/
@carlesarnal what is the plan for this? AFAIU, your team has something ready to go, correct?
Yes! We have an extension ready to be contributed.
That's great! It would to the advantage of the community if this extension were present in the Quarkiverse (cc @gastaldi)
Of course, just let me know where to start/where to contribute and I would be more than happy to do it.
https://github.com/quarkiverse/quarkiverse/wiki is the place to get started. If you have any issues, @gastaldi is the Quarkiverse overlord :)
I wonder if the beforementioned repository couldn't also host this extension (as a multimodule project). What do you think @ricardozanini @hbelmiro ?
That might be a good idea but would require some work in the docs and CI. A part from that, we are planning to remove the openapi-generator dependency and use Apicurio, so that could be in handy.
AFAIK CI would remain the same and docs would remain in the same path (since it's processed by Antora). What kind of work are you referring to specifically?
More of ina structure level :)
For the CI we will need to change the job to also run the other module, for docs the structure. Which can come in handy to just migrate to Antora. Small things, but we should do them anyway.
So my idea is to have it structured from this:
pom.xml
├── deployment
└── runtime
to this:
pom.xml
├── client
│ ├── deployment
│ └── runtime
└── server
├── deployment
└── runtime
Because the root pom.xml has <module>client</module>
and <module>server<module>
no CI scripts would need to be changed.
As for docs, just keep it in the root, like how it was done in https://github.com/quarkiverse/quarkus-pact
That makes sense 👍
@carlesarnal do you see any drawbacks to the proposed structure in https://github.com/quarkiverse/quarkus-openapi-generator? Mind submitting a PR including it?
No drawbacks, I will contribute the extension there with the structure proposed.
@carlesarnal fantastic! I created https://github.com/quarkiverse/quarkiverse-devops/pull/116 (waiting for approval from the repository maintainers) giving you maintainer access on that repository too ;)
I'll close this issue for now. Thank you!
Description
I am proposing a new extension that will perform a generation of the server-side code from an OpenAPI specification.
This extension can be based on the already existing Apicurio Studio codegen feature. This code allows users to generate server-side (essentially JAX-RS classes and POJOs). This will also allow Quarkus to not be dependent on
swagger-codegen
noropenapi-generator
This new extension will address https://github.com/quarkusio/quarkus/issues/3905.
Interested in this extension, please +1 via the emoji/reaction feature of GitHub (top right).
Configuration suggestion
No response
Additional context
No response