跨越不同回购的gradle传递依赖

时间:2013-10-28 23:19:56

标签: gradle build.gradle

我们在这里有一些关于依赖关系得到解决的困惑。我们有这样的事情,

repositories {
    maven { url "http://my.repo" }
    mavenCentral()
}

my.repo有一些我们本地制作的文物和一些标准文物的副本。

我的问题是如果在my.repo中找到了依赖关系树的一部分会发生什么。它会解析my.repo的部分,还部分来自central?例如,假设我们有这个依赖树,

depA
  depA1
depB
  depB1

现在假设这些工件位于此处,

my.repo: depA, depB1
central: depA2, depB

将从central解析depA1,即使父依赖项位于my.repo?它会解析my.repo中的depB1,即使它的父依赖位于central吗?

1 个答案:

答案 0 :(得分:3)

Gradle不会区分存储库,但它会按照声明的顺序搜索存储库。即配置的所有存储库都用于解析,依赖关系的来源不会影响哪些存储库传递依赖关系来自哪些存储库。在您的示例中,depA2将首先在“my.repo”中搜索,然后在“central”中搜索。

同样,Gradle当前无法将配置隔离到一组存储库。这意味着所有配置都来自所有存储库。