在 Android Studio 中,当从 buildSrc Dependenices kotlin 文件指定时如何标记与旧版本的依赖关系

问题描述 投票:0回答:1

我有

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 中列出的值并适当标记?

android android-gradle-plugin gradle-plugin
1个回答
0
投票

您可以使用版本目录将所有依赖项及其版本保存在一个中心位置,如果某些依赖项有更新版本,则会提醒您。

版本目录属于

settings.gradle
文件,如果您使用默认名称(请阅读此处),它会自动添加到您的项目中,以便所有其他 gradle 模块无需进一步工作即可访问同一文件。但如果你想从 buildSrc (它有自己的 settings.gradle 文件)访问它,请将其添加到
buildSrc/settings.gradle
文件

dependencyResolutionManagement {
    versionCatalogs {
        create("libs") {
            from(files("../gradle/libs.versions.toml"))
        }
    }
}

注意:您可以使用 build-logic 而不是 buildSrc 来创建可以共享模块构建逻辑的约定插件。构建逻辑的另一个好处是,如果你更改它,gradle 不会使你的项目缓存失效(这发生在 buildSrc 中)。

© www.soinside.com 2019 - 2024. All rights reserved.