我有一个分层的 gradle 3.1 项目,如下所示:
root
- build.gradle
- settings.gradle
- server (Java + WAR plugin)
- build.gradle
- client (Node plugin)
- build.gradle
因此,settings.gradle
看起来像这样:
include ':server', ':client'
我现在想做的是将 :client:build
任务的输出捆绑在 :server 生成的
任务。为此,我需要从 *.war
文件中:war:server:war
到 :client:build
的依赖关系,以确保 :client:build
的输出文件当我需要在 :server:war
任务中复制它们时,code> 总是存在。
问题是:这是如何工作的?
我想在这里实现的目标:每当执行 :server:war
时,:client:build
首先执行/em>.
到目前为止我尝试过的事情(没有一个起作用):
// in server/build.gradle
task war {
dependsOn ':client:build'
}
我也尝试过:
// in server/build.gradle
war.dependsOn = ':client:build'
...还有:
// in server/build.gradle
task war(dependsOn: ':client:build') {
}
以上尝试均无效。知道我做错了什么吗?
最佳答案
请尝试:
war.dependsOn ':client:build'
和:
task war {
dependsOn ':client:build'
}
定义了一个名为war
的新任务
和:
war.dependsOn = ':client:build'
理论上调用this方法但参数类型错误
和:
task war(dependsOn: ':client:build') {
}
在这里您还定义了一个新任务。
关于Gradle: 'dependsOn' 到其他子项目中的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44056115/