ZenWave SDK Maven Plugin
👉 ZenWave360 Helps You Create Software Easy to Understand
You can use ZenWave Maven Plugin to generate code as part of your build process:
- Add each generator jar as dependency to zenwave maven plugin.
- Pass any generator plugin as
.
In the following example we are configuring the asyncapi-spring-cloud-streams3
and asyncapi-jsonschema2pojo
generators to generate Spring Cloud Streams 3.x code and DTOs from an AsyncAPI definition:
<plugin>
<groupId>io.github.zenwave360.zenwave-sdk</groupId>
<artifactId>zenwave-sdk-maven-plugin</artifactId>
<version>${zenwave.version}</version>
<executions>
<execution>
<id>generate-asyncapi-producer</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<plugin>
<generatorName>spring-cloud-streams3</generatorName>
<inputSpec>${pom.basedir}/src/main/resources/model/asyncapi.yml</inputSpec>
<configOptions>
<role>provider</role>
<style>imperative</style>
<apiPackage>io.zenwave360.example.adapters.events.producer</apiPackage>
<modelPackage>io.zenwave360.example.adapters.events.model</modelPackage>
</configOptions>
</plugin>
</execution>
<execution>
<id>generate-asyncapi-producer-dtos</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<plugin>
<generatorName>jsonschema2pojo</generatorName>
<inputSpec>${pom.basedir}/src/main/resources/model/asyncapi.yml</inputSpec>
<configOptions>
<apiPackage>io.zenwave360.example.adapters.events</apiPackage>
<modelPackage>io.zenwave360.example.adapters.events.model</modelPackage>
</configOptions>
</plugin>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>io.github.zenwave360.zenwave-sdk.plugins</groupId>
<artifactId>asyncapi-spring-cloud-streams3</artifactId>
<version>${zenwave.version}</version>
</dependency>
<dependency>
<groupId>io.github.zenwave360.zenwave-sdk.plugins</groupId>
<artifactId>asyncapi-jsonschema2pojo</artifactId>
<version>${zenwave.version}</version>
</dependency>
</dependencies>
</plugin>