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

mej*_*eja 27 dependencies build multi-project gradle

我对这个Gradle多模块项目设置有一个相同的问题,但我必须使用项目编译依赖项来构建,并且不能使用在上述问题中作为解决方案给出的库(jar)依赖项解决方案.

Root
|__ P1
|   |_ PP1
|   |_ PP2
|
|__ P2
   |_PP3
   |_PP4
Run Code Online (Sandbox Code Playgroud)

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
}
Run Code Online (Sandbox Code Playgroud)

我正在运行Gradle v1.2

Pet*_*ser 41

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

include "P1:PP1"
Run Code Online (Sandbox Code Playgroud)

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

dependencies {
    compile(project(":P1:PP1"))
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Gradle用户指南中的"多项目构建"一章.