springwolf-core icon indicating copy to clipboard operation
springwolf-core copied to clipboard

Maven Plugin for generating AsyncApi specification during build

Open murdos opened this issue 1 year ago • 2 comments

Describe the feature request A maven plugin that would generates the AsyncApi contract (either in json or yaml) during build, with the ability to attach the generated contract to the artifacts published.

Motivation Generates and automatically publish the contract for consumption by partnership applications. Ease contract testing, e.g. using Microcks

Technical details Ideally generates the contract without having to start the application, as done for OpenApi by https://github.com/kbuntrock/openapi-maven-plugin/. If not possible, something similar to https://github.com/springdoc/springdoc-openapi-maven-plugin

murdos avatar Oct 20 '24 08:10 murdos

Welcome to Springwolf. Thanks a lot for reporting your first issue. Please check out our contributors guide and feel free to join us on discord.

github-actions[bot] avatar Oct 20 '24 08:10 github-actions[bot]

Hi @murdos, can you use the springdoc-openapi-maven-plugin with Springwolf like it can be done with the springdoc-openapi-gradle-plugin? See https://www.springwolf.dev/docs/faq#how-to-generate-the-documentation-at-build-time for more information. As you said, the plugin is basically starting the application and downloading the spec from a given endpoint. Therefore I would expect that the maven plugin is similar, or is there something different?

sam0r040 avatar Oct 22 '24 20:10 sam0r040

Hi, I had not read the FAQ before, so I was not aware of this solution! I think we can then close the issue (I would love to have a plugin that doesn't require you to start the application, but I guess it's incompatible with the current design of springwolf).

murdos avatar Oct 26 '24 21:10 murdos