콘텐츠로 이동

시작하기

  • Kotlin 2.3+
  • 대상 repository에 따라 Java 21 또는 Java 25
  • Gradle Kotlin DSL
  • Framework integration을 쓴다면 Spring Boot 3/4 또는 Ktor 3

Gradle Kotlin DSL에서는 bluetape4k-dependencies version만 version catalog에 두고, bluetape4k module alias에는 version을 쓰지 않습니다.

[versions]
bluetape4k-dependencies = "1.3.1"
[libraries]
bluetape4k-dependencies = { module = "io.github.bluetape4k:bluetape4k-dependencies", version.ref = "bluetape4k-dependencies" }
bluetape4k-core = { module = "io.github.bluetape4k:bluetape4k-core" }
bluetape4k-coroutines = { module = "io.github.bluetape4k:bluetape4k-coroutines" }

중앙 BOM은 공유 third-party version과 bluetape4k module version을 관리합니다. 애플리케이션의 module dependency에는 version을 쓰지 않습니다.

dependencies {
implementation(platform(libs.bluetape4k.dependencies))
implementation(libs.bluetape4k.core)
implementation(libs.bluetape4k.coroutines)
}

Repository-specific module을 쓸 때도 규칙은 같습니다. 중앙 BOM은 그대로 두고, 서비스에 필요한 module만 추가합니다.

[libraries]
exposed-jdbc = { module = "io.github.bluetape4k.exposed:bluetape4k-exposed-jdbc" }
bluetape4k-aws = { module = "io.github.bluetape4k.aws:bluetape4k-aws-spring-boot" }
dependencies {
implementation(platform(libs.bluetape4k.dependencies))
implementation(libs.exposed.jdbc)
implementation(libs.bluetape4k.aws)
}

현재 dependency governance 기준은 버전 거버넌스에서 확인합니다.

목표시작할 곳
공유 버전 거버넌스bluetape4k-dependencies
Core Kotlin과 Spring Boot backend utilitybluetape4k-projects
Exposed JDBC/R2DBC repositorybluetape4k-exposed
AWS SDK v2와 AWS Kotlin SDK wrapperbluetape4k-aws
Graph database integrationbluetape4k-graph
Distributed leader election과 runtime coordinationbluetape4k-leader
한국어/일본어 tokenizer와 text processingbluetape4k-text
Backend image processingbluetape4k-image
Audit history와 entity diff workflowbluetape4k-javers
Platform migration과 incubation workbluetape4k-experimental
일반 end-to-end 예제bluetape4k-workshop
Exposed JDBC 예제exposed-workshop
Exposed R2DBC 예제exposed-r2dbc-workshop
Optimization 예제timefold-workshop
Reference applicationclinic-appointment
Terminal window
./gradlew compileTestKotlin --no-daemon

Dependency surface를 넓히기 전에 compile check를 먼저 실행합니다. Container 기반 module은 compile이 성공한 뒤 focused integration test를 실행합니다.