From f8b3bfaa3e6dbd40cae40681cea5f0cd6aa545d7 Mon Sep 17 00:00:00 2001 From: kebernet Date: Sat, 17 Aug 2024 19:07:57 -0400 Subject: [PATCH] Adding README.md --- README.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6513217..c0218bd 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,15 @@ was not particularly flexible. Also, having Java-based tooling is easier to inco Status ------ -*WARNING:* This is very much a work in progress. Currently the only protocol supported is MQTT and the only contentType -is `application/json`. +*WARNING:* This is very much a work in progress. Currently, the only version of AsyncAPI supported is 2.6.0, +the only protocol supported is MQTT, and the only contentType is `application/json`. Usage ----- The best way to get started is with the Maven plugin. First, you need to set up the -[Maven repository for GitHub](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry). -Then you can included the plugin in your project thusly: +[Maven repository for GitHub](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry), +as this project is not in Maven Central yet. Then you can included the plugin in your project thusly: ```xml @@ -66,3 +66,21 @@ transient listeners and want to not have to worry about cleaning them up with `u Also, no matter whether the operation is a subscribe or publish operation, a `protected` method for the inverse operation will be added to the client. This is useful if you want to write unit/integration tests and wish to dispatch messages for you application code to consume. + +You will also need the `asyncapi2j-lib` dependency in your project. This contains classes needed by the generated code: + +```xml + + com.thoughtworks.asyncapi + asyncapi2j-lib + @project.version@ + +``` + + +Code +---- + +The code is structured into three different projects. `lib` contains the client library for consumer projects. `gen` +contains code to generate the clients, and the CLI implementation. `maven` contains the Maven plugin that delegates +to the `gen` code.