我有一个如下所示的多项目版本:
helloworld
- projecta
- build.gradle
- projectb
- build.gradle
- build.gradle
projecta
创建一些文件,然后projectb
将其压缩。我希望projectb
依赖于projecta
。
现在,我只是在dependsOn ':projecta:build
的build.gradle中有一个projectb
。但这感觉就像是黑客。
我想改用配置使其看起来像这样:
// projectb build.gradle
dependencies {
compile project(':projecta')
}
但是我找不到有关如何定义编译任务的任何文档。我怎么去做?
答案 0 :(得分:1)
Gradle的理念是精确建模您的目标:
由projecta
生成的文件是否是项目本身的真实输出,就像Java世界中的JAR一样?
如果是,那么使用确实可以使您访问这些文件的配置进行工作,前提是它们已正确注册为projecta
这些文件是否是建筑物projecta
的副产品,但不是供一般消费的?
如果是这种情况,那么最明确的依赖性是跨任务的,其中projectb
中的压缩任务仅取决于projecta
中产生这些文件的任务。 build
在某种意义上感觉像是黑客,与projecta
真正需要的东西相比,它最有可能在projectb
中引起更多的工作。