Gradle Version Catalog
최신 안정판 Dependencies 2.0.0 릴리스 기준
gradle/libs.versions.toml은 Bluetape4k build alias, plugin alias, 공통 dependency version, 생성된 artifact alias의 source of truth다. checkout한 파일로 소비하며 published BOM을 대체하지 않는다.
Catalog import
섹션 제목: “Catalog import”dependencyResolutionManagement { versionCatalogs { create("bt4k") { from(files("../bluetape4k-dependencies/gradle/libs.versions.toml")) } }}Build script에서 alias를 사용한다.
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)}bt4k.bluetape4k.core와 bt4k.bluetape4k.coroutines는 module coordinate alias다. 실제 resolved version은 여전히 import한 platform과 하위 BOM이 제공한다.
생성·거버넌스 영역
섹션 제목: “생성·거버넌스 영역”Catalog에는 세 경계가 있다.
- 중앙 self-version과 import한 하위 BOM version;
- Kotlin, Spring Boot, Jackson, Ktor, Testcontainers 같은 공통 framework·runtime alias;
- sibling 저장소의
settings.gradle.ktsmodule include에서 생성되는 managed alias.
생성된 managed alias를 downstream version 문제의 해결책으로 직접 고치지 않는다. source-of-truth block 또는 소유 upstream 저장소를 변경한 뒤 managed-catalog와 shared-version 검사를 실행한다.
Immutable 소비
섹션 제목: “Immutable 소비”재현 가능한 release build를 위해 catalog commit을 Maven artifact와 분리해 기록한다. 이 매뉴얼은 정확한 2.0.0 release commit이기도 한 3c203aa9를 사용한다. 이후 catalog train tag는 다음 개발선에 속하며 이 안정 snapshot을 다시 쓰지 않는다.