问题描述
Gradle 正在为 sharing dependency versions between projects 开发新功能,这些功能将提供用于声明公共依赖项的中心位置(settings.gradle
、libs.versions.toml
)。
通过插件共享 dependencies
块已经成为可能(并且很容易),那么与新版本目录和依赖包相比,插件共享依赖项的方法的缺点是什么?这些新功能改进了什么?
解决方法
这不是一个彻底的答案。但是,让我分享我认为有所作为的东西。我们需要记住,Gradle 是围绕开发人员的生产力而构建的,并尽可能快地进行构建。
集中通用依赖声明对于开箱即用的支持是有意义的。目前,当您查看不同的 Gradle 项目时,很有可能每个项目都可能对此实施不同的方法。 Cédric Champeau 迭代了这个 blog 中的一些现有模式。拥有标准解决方案可以让开发人员更容易上手。塞德里克进一步表示
长话短说:目录的存在使可发现性和维护更容易,但它并没有消除 Gradle 提供的任何灵活性。我们正在考虑如何在未来强制通过目录声明所有直接依赖项。
在 libs.versions.toml
中声明依赖项允许 Gradle 在依赖项版本更改时跳过构建脚本编译。这比在脚本插件中更改相同要快得多。作为在 libs.versions.toml
中声明依赖项的副作用,我们将来可能会看到第三方工具自动更新依赖项。