Skip to content
Dependencies docs2.0

Getting started

Latest stable Based on Dependencies release 2.0.0

Use the stable 2.0.0 BOM from Maven Central, import it once, and omit versions from managed Bluetape4k artifacts.

repositories {
mavenCentral()
}
dependencies {
implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:2.0.0"))
implementation("io.github.bluetape4k:bluetape4k-core")
implementation("io.github.bluetape4k:bluetape4k-coroutines")
}

The platform is the only place where the ecosystem BOM version is declared. A child library receives its version from the imported BOM; do not add a second version or a timestamped Maven version to the dependency declaration.

Import the BOM in dependencyManagement:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.bluetape4k</groupId>
<artifactId>bluetape4k-dependencies</artifactId>
<version>2.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.bluetape4k</groupId>
<artifactId>bluetape4k-core</artifactId>
</dependency>
</dependencies>

Add the catalog when you build Bluetape4k modules

Section titled “Add the catalog when you build Bluetape4k modules”

The catalog is a checked-out source file, not a Maven artifact replacement:

settings.gradle.kts
dependencyResolutionManagement {
versionCatalogs {
create("bt4k") {
from(files("../bluetape4k-dependencies/gradle/libs.versions.toml"))
}
}
}
build.gradle.kts
plugins {
alias(bt4k.plugins.kotlin.jvm)
}
dependencies {
implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:2.0.0"))
implementation(bt4k.bluetape4k.core)
implementation(bt4k.bluetape4k.coroutines)
}

Pin the catalog checkout to an immutable commit in CI. The central catalog ref and the published BOM are separate provenance: a catalog commit does not prove that a Maven artifact is available.

  1. Resolve Maven Central and confirm the BOM POM is available.
  2. Run the representative build with the BOM and one versionless Bluetape4k module.
  3. Confirm the catalog checkout is the intended immutable release commit or catalog train tag.

Use snapshot consumption only when intentionally testing a later development line.