我有一个分层的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
任务的输出捆绑在*.war
任务生成的:server:war
文件中。为此,我需要从:server:war
到:client:build
的依赖关系,以确保:client:build
的输出文件始终存在,当我需要在:server:war
中复制它们时任务。
问题是:这是如何运作的?
我想在这里实现的目标:每当执行:server:war
时,:client:build
首先执行 。
// 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') {
}
上述尝试均无效。知道我做错了吗?
答案 0 :(得分:8)
请尝试:
war.dependsOn ':client:build'
和
task war {
dependsOn ':client:build'
}
定义了一个名为war
和
war.dependsOn = ':client:build'
理论上调用this方法,但参数类型错误
和
task war(dependsOn: ':client:build') {
}
这里你也定义了一个新任务。