我有
buildSrc/src/main/kotlin/Dependencies.kt
文件,其依赖项如
object Deps {
const val lifecycleVersion = "2.6.2"
const val lifecycle = listOf(
"androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion",
"androidx.lifecycle:lifecycle-runtime-compose:$lifecycleVersion"
)
}
在模块 build.gradle.kts 中我有
dependencies {
...
Deps.lifecycle.forEach(::implementation)
...
}
如果我直接在模块 build.gradle.kts 中指定依赖项,例如,
val lifecycleVersion = "2.6.2"
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
如果有更新版本可用,Android Studio 会发出警告。但是,如果我使用 buildSrc 插件的依赖项,情况就不会如此。如何将“依赖项检查”(有效地)添加到
buildSrc/src/main/kotlin/Dependencies.kt
或者至少在模块 gradle 文件中指出有更新的版本可用?
是否有一个插件可以解析 Dependency.kt 中列出的值并适当标记?
您可以使用版本目录将所有依赖项及其版本保存在一个中心位置,如果某些依赖项有更新版本,则会提醒您。
版本目录属于
settings.gradle
文件,如果您使用默认名称(请阅读此处),它会自动添加到您的项目中,以便所有其他 gradle 模块无需进一步工作即可访问同一文件。但如果你想从 buildSrc (它有自己的 settings.gradle 文件)访问它,请将其添加到 buildSrc/settings.gradle
文件
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
注意:您可以使用 build-logic 而不是 buildSrc 来创建可以共享模块构建逻辑的约定插件。构建逻辑的另一个好处是,如果你更改它,gradle 不会使你的项目缓存失效(这发生在 buildSrc 中)。