Skip to content

asyncapi/jasyncapi

Repository files navigation


AsyncAPI logo

Building the future of event-driven architectures

We're on a mission to standardize message-based communication and increase interoperability of the different systems out there.

⚠️ This project doesn't support AsyncAPI 1.x

This monorepo stores modules, which simplifies interacting with AsyncAPI in jvm ecosystem.

Monorepo structure

Currently here it's splitted on two submodules:

core

This submodule stores projection of AsyncAPI specification to java classes. Each class is being properly annotated with jsr-305 annotations, which allows to use it in null-safety languages like kotlin without extra headache.

<dependency>
  <groupId>com.asyncapi</groupId>
  <artifactId>asyncapi-core</artifactId>
  <version>1.0.0-EAP</version>
</dependency>

plugin

This submodule stores plugins, which automatizes work with AsyncAPI specification.

Currently here are three plugins:

maven

Maven plugin helps to generate AsyncAPI specification from hand-crafted AsyncAPI class at choosed build cycle step.

<dependency>
  <groupId>com.asyncapi</groupId>
  <artifactId>asyncapi-maven-plugin</artifactId>
  <version>1.0.0-EAP</version>
  <type>maven-plugin</type>
</dependency>

Source code with description and example

gradle

Gradle plugin helps to generate AsyncAPI specification from hand-crafted AsyncAPI class at choosed build cycle step.

Source code with description and example

IDEA

IDEA plugin simplifies work with AsyncAPI specification not only in Intellij IDEA, but in others IDE from JetBrains

JetBrains plugin marketplace

Source code with description and example