Gradle嵌套的多项目与项目编译依赖项

时间:2012-11-28 00:14:48

标签: build dependencies gradle multi-project

我对此Gradle Multi-Module Project Setup有同样的问题,但我必须使用项目编译依赖项来构建,并且不能使用在上述问题中作为解决方案提供的库(jar)依赖项解决方案。

Root
|__ P1
|   |_ PP1
|   |_ PP2
|
|__ P2
   |_PP3
   |_PP4

PP1,PP2,PP3和PP4是子项目,每个都有自己的build.gradle文件; P1和P2也有build.gradle和settings.gradle文件。

如何在PP3的build.gradle文件中将PP1声明为编译依赖?

apply plugin: 'java' 
dependencies {
    compile('P1:PP1') //does not work
    compile group: 'P1', name: 'PP1', version: '0.1' // jar library dependency not an option

    compile('{ant_target}')? //follow up question - an ant target as a dependency
}

我正在运行Gradle v1.2

1 个答案:

答案 0 :(得分:40)

构建只能有一个settings.gradle文件。假设settings.gradle位于根目录中并包含如下项目:

include "P1:PP1"

您可以像这样添加编译依赖项:

dependencies {
    compile(project(":P1:PP1"))
}

有关详细信息,请参阅Gradle User Guide中的“多项目构建”一章。