Skip to content

Axon Bill of Materials (BOM) - provides managed dependencies for all Axon artifacts

License

Notifications You must be signed in to change notification settings

AxonFramework/axon-bom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Axon Bill of Materials

Maven Central Build Status

This project provides Maven managed dependencies for all Axon artifacts. Using axon-bom inside a dependency management system ensures the compatibility of Axon's dependencies. At this stage, the BOM includes the dependencies for the following projects:

The Bill of Materials always follows at least the Axon Framework release cycle. So every new Axon Framework version will lead to a new Bill of Materials version. Releases of other dependencies may or may not lead to a new release.

Getting Started - Maven

For usage with Maven, import the BOM in your project like so:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.axonframework</groupId>
            <artifactId>axon-bom</artifactId>
            <version>${version.axon}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        ...

    </dependencies>
</dependencyManagement>
...

Then add the dependencies you need without specifying the version:

...
<dependencies>
    <dependency>
        <groupId>org.axonframework</groupId>
        <artifactId>axon-configuration</artifactId>
    </dependency>
    <dependency>
        <groupId>org.axonframework</groupId>
        <artifactId>axon-server-connector</artifactId>
    </dependency>
    <dependency>
        <groupId>org.axonframework.extensions.kafka</groupId>
        <artifactId>axon-kafka</artifactId>
    </dependency>
    <dependency>
        <groupId>org.axonframework.extensions.mongo</groupId>
        <artifactId>axon-mongo</artifactId>
    </dependency>
        ...

</dependencies>
...

Getting Started - Gradle

For usage with Gradle up to version 4.x, apply the dependency-management-plugin plugin like so:

buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

After this, import the Axon BOM:

dependencyManagement {
  imports {
    mavenBom 'org.axonframework:axon-bom:<VERSION>'
  }
}

Then add the dependencies you need without specifying the version:

dependencies {
    compile 'org.axonframework:axon-configuration'
    compile 'org.axonframework:axon-server-connector'
    compile 'org.axonframework.extensions.kafka:axon-kafka'
    compile 'org.axonframework.extensions.mongo:axon-mongo'
    ...
}

Beginning with Gradle version 5.0, you can also omit the dependency-management plugin and instead use the platform dependency dsl to import maven boms:

implementation(platform("org.axonframework:axon-bom:<VERSION>"))

Receiving help

Are you having trouble using the bill of material or any of the contained dependencies? We'd like to help you out the best we can! There are a couple of things to consider when you're traversing anything Axon:

  • Checking the reference guide should be your first stop, as the majority of possible scenarios you might encounter when using Axon should be covered there.
  • If the Reference Guide does not cover a specific topic you would've expected, we'd appreciate if you could file an issue about it for us.
  • There is a forum to support you in the case the reference guide did not sufficiently answer your question. Axon Framework and Server developers will help out on a best effort basis. Know that any support from contributors on posted question is very much appreciated on the forum.
  • Next to the forum we also monitor Stack Overflow for any questions which are tagged with axon.

Feature requests and issue reporting

We use GitHub's issue tracking system for new feature request, framework enhancements and bugs. Prior to filing an issue, please verify that it's not already reported by someone else.

When filing bugs:

  • A description of your setup and what's happening helps us to figure out what the issue might be
  • Do not forget to provide the framework version you're using
  • If possible, share a stack trace, using the Markdown semantic ```

When filing features:

  • A description of the envisioned addition or enhancement should be provided
  • (Pseudo-)Code snippets showing what it might look like help us understand your suggestion better
  • If you have any thoughts on where to plug this into the framework, that would be very helpful too
  • Lastly, we value contributions to the framework highly. So please provide a Pull Request as well!