Gradle version catalogs(libs.versions.toml)를 이용하여 여러 모듈이 있는 경우 종속 항목과 플러그인을 쉽게 관리해보자.
libs.versions.toml에는 세 개의 섹션이 있다.
1. versoins: 종속 항목 및 플러그인 버전을 보유하는 변수를 정의한다. libraries와 plugins에서 해당 변수를 이용한다.
2. libraries: 종속 항목을 정의한다.
3. plugins: 플러그인을 정의한다.
기존에 build.gradles에 이러한 종속 항목이 정의되어 있다고 한다면,
dependencies {
implementation("androidx.core:core-ktx:1.9.0")
}
libs.versions.toml에서 해당 항목을 정의하자.
group, name은 라이브러리를 :을 구분자로 하여 적어주면 되고, version.ref는 [versions] 섹션에 작성했던 변수를 작성하면 된다.
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
그리고 build.gradles에서 다음과 같이 수정하면 된다.
dependencies {
implementation(libs.androidx.ktx)
}
기존에 build.gradle에서 이러한 플러그인이 정의되어 있다고 한다면,
// Top-level `build.gradle.kts` file
plugins {
id("com.android.application") version "7.4.1" apply false
}
// Module-level `build.gradle.kts` file
plugins {
id("com.android.application")
}
libs.versions.toml에서 다음과 같이 정의해주자.
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
그리고 build.gradles를 다음과 같이 수정해주자
// Top-level build.gradle.kts
plugins {
alias(libs.plugins.android.application) apply false
}
// module build.gradle.kts
plugins {
alias(libs.plugins.android.application)
}