Gradle: 'dependsOn' 到其他子项目中的任务
Gradle: 'dependsOn' to task in other subproject
我有一个分层的 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
时始终存在任务。
问题是:这是如何工作的?
我想在这里实现的是:每当执行:server:war
时,:client:build
首先执行。
到目前为止我尝试过的事情(none 有效):
// 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') {
}
None 以上尝试有效。知道我做错了什么吗?
请试一下:
war.dependsOn ':client:build'
和:
task war {
dependsOn ':client:build'
}
定义了一个名为 war
的新任务
和:
war.dependsOn = ':client:build'
理论上调用了this方法但是参数类型错误
和:
task war(dependsOn: ':client:build') {
}
在这里你也定义了一个新任务。
我有一个分层的 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
时始终存在任务。
问题是:这是如何工作的?
我想在这里实现的是:每当执行:server:war
时,:client:build
首先执行。
到目前为止我尝试过的事情(none 有效):
// 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') {
}
None 以上尝试有效。知道我做错了什么吗?
请试一下:
war.dependsOn ':client:build'
和:
task war {
dependsOn ':client:build'
}
定义了一个名为 war
和:
war.dependsOn = ':client:build'
理论上调用了this方法但是参数类型错误
和:
task war(dependsOn: ':client:build') {
}
在这里你也定义了一个新任务。