Reactor Bill Of Materials (tracking reactor-core, reactor-netty and more)
The Reactor Project is an advanced framework that is organized into multiple projects such as reactor-core, reactor-netty, reactor-extra, and more community-driven integrations like reactor-kafka and reactor-rabbitmq. The Reactor Project provides a Bill of Materials (BOM) to ensure compatibility between these projects. The BOM simplifies dependency management by providing default artifact versions to use when adding dependencies to a project.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-bom</artifactId>
<version>3.4.0-Europium</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
dependencies {
implementation platform("io.projectreactor:reactor-bom:3.4.0-Europium")
implementation 'io.projectreactor:reactor-core'
// Add other dependencies as needed
}
Apply the Spring plugin:
plugins {
id "io.spring.dependency-management" version "1.0.10.RELEASE"
}
Use the plugin to import the BOM and add dependencies:
dependencyManagement {
imports {
mavenBom "io.projectreactor:reactor-bom:3.4.0-Europium"
}
}
dependencies {
implementation 'io.projectreactor:reactor-core'
// Add other dependencies as needed
}
The Reactor Project offers a comprehensive set of features including modular structure, a BOM for version compatibility, and support for both Maven and Gradle build systems. Its structured versioning scheme and associated codenames for release trains make it easier to manage dependencies and ensure smooth integration between projects.