Skip to content

Commit

Permalink
Adding README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
kebernet committed Aug 17, 2024
1 parent bf8f346 commit f8b3bfa
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
<plugin>
Expand Down Expand Up @@ -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
<dependency>
<groupId>com.thoughtworks.asyncapi</groupId>
<artifactId>asyncapi2j-lib</artifactId>
<version>@project.version@</version>
</dependency>
```


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.

0 comments on commit f8b3bfa

Please sign in to comment.