Gradle: 在构建文件中将依赖项声明为属性有什么好处?

Gradle: What is the advantage of declaring dependencies as properties in build file?

我正在尝试重构我在项目中声明依赖项的方式。

我目前正在使用this answer中描述的方法。

例如:

在顶层 build.gradle 我将我的依赖项定义为常量:

ext.libraries = [


junit: 'junit:junit:4.10'

]

然后在子模块 build.gradle 中引用它,如下所示:

testCompile([
              libraries.junit
])

这样做的唯一好处是节省内存吗?

我目前的理解是,通过在顶层 build.gradle 中以典型的 Gradle 方式定义依赖关系,然后将其添加到 EVERY 子-模块。

但是通过将其定义为 属性 并且仅在使用它的子模块中引用 属性,您可以节省内存,因为它仅 [=37] =]添加到需要它的子模块中?

我说得对吗?

你不能在top-level gradle文件中真正添加依赖项。

这样声明依赖是为了避免重复。当您需要更改某些内容(例如依赖项的版本号)时,避免重复是件好事:您只需要为此编辑一个位置,而不是所有子模块 build.gradle 文件。