k8ssandra / management-api-for-apache-cassandra

RESTful / Secure Management Sidecar for Apache Cassandra
Apache License 2.0
70 stars 51 forks source link

Refactor OpenAPI client generation #433

Open emerkle826 opened 8 months ago

emerkle826 commented 8 months ago

Issue:

When building the project, the code in the server module generates a Swagger/OpenAPI spec document that describes all of the available endpoints. The document is then used to generate a Java client that can be used by other projects to exercise the Management API. Unfortunately, the client generation is just a stand-alone Maven project that is dumped into the generated-sources folder under the server project, and isn't compiled via the normal Maven lifecycle. To compile it, you have to first compile the project, then run Maven lifecycles on the generated source as a follow-on step.

This creates a problem where we can't test the auto-generated client in e2e/integration tests. We need to resolve this.

Definition of Done