【问题标题】:Kotlin DSL build scripts dependency updatesKotlin DSL 构建脚本依赖更新
【发布时间】:2020-09-23 03:40:40
【问题描述】:

关于如何从使用 groovy 脚本迁移到使用 Kotlin DSL 进行 Gradle 依赖项管理是管理构建脚本以及其他提到的优点的理想方式,已经写了无数篇文章。

但是,我发现的限制是缺少这种 Gradle 管理方式或流程来突出显示当前依赖项的新版本何时可用,就像之前使用 groovy 脚本所做的那样。我发现的当前解决方案包括使用插件或实用程序扫描您的 buildSrc 文件夹并将更新作为 cmets 提供给当前版本的库。其中一些包括以下内容:

buildSrcVersions

Gradle-versions-plugin

除了我提到的几个插件之外,还有其他有效的检查依赖更新的方法吗?

【问题讨论】:

  • 我也在寻找同样的解决方案。
  • @Aroniez 添加了一个适合我的解决方案:让我知道你的进展情况。
  • @George 你还有这个问题吗?我认为我在下面提到的插件回答了你的问题。
  • @dnh 肯定会尝试的

标签: android android-studio android-gradle-plugin gradle-kotlin-dsl


【解决方案1】:

我已经在我的 Android/Kotlin DSL 构建中测试了这个 Gradle 依赖项更新检查插件(使用带有版本定义的单独版本类),它对我来说很好:

CheckDependencyUpdates Gradle Plugin

(我还测试过它可以与传统的 Groovy-DSL 项目一起使用)

要安装插件(从链接页面复制),请将以下内容添加到您的 build.gradle.kts。请注意,我已经从中删除了版本号,与我链接到的页面不同,它会过时:

plugins {
  id("name.remal.check-dependency-updates")
}

要运行更新检查(复制自 gradle tasks),请运行以下命令:

gradle checkDependencyUpdates

您将看到类似于以下内容的输出部分:

New dependency version: com.android.tools.build:aapt2: 3.6.1-6040484 -> 3.6.3-6040484
New dependency version: com.android.tools.lint:lint-gradle: 26.6.1 -> 26.6.3

【讨论】:

  • 这个插件和原帖上面提到的两个有什么区别
  • @George 也许我没有完全了解您的需求,但我认为您想要一些非侵入性的东西,允许检查版本更新而无需指定您的依赖管理方法。如果这就是您所追求的,这似乎就是它,因为它只是插入并通知您过时的依赖项。为我工作,YMMV!
  • 不适用于 AS 4.1.1、Kotlin 1.4.20。它添加了任务,但运行 gradle checkDependencyUpdates 没有打印。
  • @Dr.jacky 你有过时的依赖吗?另外我假设其他gradle/gradlew 任务报告正确?
  • @dnh 是的,我有。这个对我有用:stackoverflow.com/a/64016663/421467
【解决方案2】:

最好的解决方案是使用gradle-versions-plugin - https://github.com/ben-manes/gradle-versions-plugin

这将添加 dependencyUpdates 任务,这将检查库和 Gradle 版本本身的可用更新。您可以决定是否真的使用所有可用版本或过滤所有不稳定的版本。

您可以手动运行此任务,例如在发布之前或作为构建步骤添加。因此,您将收到包含可用更新的消息。

它适用于 groovy 中的 gradle 和 gradle kotlin dsl。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    相关资源
    最近更新 更多