/jasyncapi

AsyncAPI spec from Java code

Primary LanguageKotlinApache License 2.0Apache-2.0

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


Version

Overview

JVM-friendly bindings for AsyncAPI. It allows you to read or write specifications for your asynchronous API through code

Hints:

Known consumers:

  • Springwolf Core - Automated documentation for async APIs built with Spring Boot
  • AsyncAPI Quarkus - Generates AsyncAPIRegistry and configuration classes for Quarkus

Known open specifications to check compatibility with:

Contributors section

Build

Prerequisites

  1. JDK 1.8
  2. Maven 3+

If you are using SDKMAN! use env to prepare environment

sdk env install

Install locally

Each build is GPG signed. To avoid this, and to not configure GPG locally, you can use this command:

 mvn clean install -Dgpg.skip

Publish new release

Prerequisites

  1. Request credentials for one of AsyncAPI's account on Sonatype Jira, which is synced with Sonatype nexus
  2. Generate pgp key if it was not generated yet
  3. Create /Users/{userName}/.m2/settings.xml
<settings>
  <profiles>
    <profile>
      <id>ossrh</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <gpg.keyname>GPG key name</gpg.keyname>
        <gpg.executable>gpg</gpg.executable>
        <gpg.passphrase>GPG passphrase for selected key</gpg.passphrase>
        <gpg.homedir>/Users/{userName}/.gnupg</gpg.homedir>
      </properties>
    </profile>
  </profiles>
  <servers>
    <server>
      <id>ossrh</id>
      <username>Jira username</username>
      <password>Jira password</password>
    </server>
  </servers>
</settings>

Release

mvn clean deploy -P release 

references: