【发布时间】:2014-05-05 20:42:28
【问题描述】:
在根build.gradle 中有没有办法访问子项目build.gradle 文件中声明的依赖项?我尝试了以下方法--
subprojects.each { p ->
println "subproject: ${p.name}"
p.configurations.each { c ->
println " ${c}"
c.dependencies.each { d ->
println " ${d}"
}
}
}
但我猜是因为根build.gradle 首先被执行,子模块依赖声明还没有运行,因为我得到的是:
subproject: foo
subproject: bar
subproject: baz
(我正在尝试编写一个多模块 build.gradle 来构建一堆相关模块,这些模块不知道它们是多模块项目的一部分,或者可以是许多不同的多模块的一部分proejcts. 我的计划是以编程方式遍历子模块依赖项,并为每个依赖项添加一个相应的project 依赖项——希望做一些类似于Pieter Niederweiser 的elastic-deps 示例但不必修改子项目构建文件的事情。在单模块项目中,Gradle 似乎足够聪明,可以使用项目依赖项来解决 Maven/Ivy 依赖项,如果它们重叠的话。)
ETA:如果有办法在顶层声明所有子项目将在某个时间点运行的代码块在他们已经声明了他们的依赖关系,那可能会这样做。
【问题讨论】:
标签: gradle dependencies multi-module