|
1 | 1 | # AsyncAPI Generator for Java / Spring-Boot |
2 | | -> 👉 ZenWave360 Helps You Create Software Easy to Understand |
3 | 2 |
|
4 | 3 | [](https://search.maven.org/artifact/io.zenwave360.sdk/zenwave-sdk) |
5 | 4 | [](https://github.com/ZenWave360/zenwave-sdk/blob/main/LICENSE) |
6 | 5 |
|
7 | | - |
| 6 | + |
8 | 7 |
|
9 | | -The ZenWave AsyncAPI Generator solves a long-standing issue in event-driven Java applications: keeping message models and channel contracts fully aligned with their AsyncAPI specification. It provides build-time read-only code generation from AsyncAPI files sourced from their canonical locations: local files, classpath resources, or authenticated remote URLs. |
| 8 | +The ZenWave AsyncAPI Generator solves a long-standing issue in event-driven Java applications: |
| 9 | + |
| 10 | +👉 keeping message models and channel contracts fully aligned with their AsyncAPI specification. |
| 11 | + |
| 12 | +It provides build-time read-only code generation from AsyncAPI files sourced from their canonical locations: local files, classpath resources, or authenticated remote URLs. |
10 | 13 |
|
11 | 14 | This approach eliminates API drift by enforcing the AsyncAPI file as the single source of truth for message schemas, channel definitions, and producer or consumer interfaces. |
12 | 15 |
|
@@ -212,12 +215,7 @@ tasks.register<dev.jbang.gradle.tasks.JBangTask>("generateAsyncApiProvider") { |
212 | 215 | "--deps=" + |
213 | 216 | "org.slf4j:slf4j-simple:1.7.36," + |
214 | 217 | "io.zenwave360.sdk.plugins:asyncapi-generator:RELEASE," + |
215 | | - "org.apache.avro:avro-compiler:1.11.1", |
216 | | - "--java-options \"--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED\"", |
217 | | - "--java-options \"--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED\"", |
218 | | - "--java-options \"--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED\"", |
219 | | - "--java-options \"--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED\"", |
220 | | - "--java-options \"--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED\"" |
| 218 | + "org.apache.avro:avro-compiler:1.11.1" |
221 | 219 | )) |
222 | 220 | args.set(listOf( |
223 | 221 | "-p", "AsyncAPIGenerator", |
@@ -255,8 +253,8 @@ sourceSets { |
255 | 253 | | `role` | Project role: provider/client | AsyncapiRoleType | provider | provider, client | |
256 | 254 | | `templates` | Templates to use for code generation. | String | SpringCloudStream | SpringCloudStream, SpringKafka, FQ Class Name | |
257 | 255 | | `modelPackage` | Java Models package name | String | | | |
258 | | -| `producerApiPackage` | Java API package name for outbound (producer) services. It can override apiPackage for producers. | String | {{apiPackage}} | | |
259 | | -| `consumerApiPackage` | Java API package name for inbound (consumer) services. It can override apiPackage for consumer. | String | {{apiPackage}} | | |
| 256 | +| `producerApiPackage` | Java API package name for outbound (producer) services. It can override apiPackage for producers. | String | `{{apiPackage}}` | | |
| 257 | +| `consumerApiPackage` | Java API package name for inbound (consumer) services. It can override apiPackage for consumer. | String | `{{apiPackage}}` | | |
260 | 258 | | `apiPackage` | Java API package, if `producerApiPackage` and `consumerApiPackage` are not set. | String | | | |
261 | 259 | | `operationIds` | Operation ids to include in code generation. Generates code for ALL if left empty | List | [] | | |
262 | 260 | | `excludeOperationIds` | Operation ids to exclude in code generation. Skips code generation if is not included or is excluded. | List | [] | | |
|
0 commit comments