【发布时间】:2017-03-29 12:04:41
【问题描述】:
我正在使用 Gradle。我有两个任务:“a”和“b”。我希望任务“a”调用任务“b”。我该怎么做?
task b(type: Exec) {
description "Task B"
commandLine 'echo', 'task-b'
}
task a(type: Exec) {
description "Task A"
commandLine 'echo', 'task-a'
// TODO: run task b
}
在 Ant 中这是小菜一碟:
<target name="a">
<echo message="task-a"/>
<antcall target="b"/>
</target>
<target name="b">
<echo message="task-b"/>
</target>
我尝试的第一种方法是使用“dependsOn”功能。然而,这并不理想,因为我们需要反向考虑所有任务,并且还有其他几个问题(例如在满足条件时运行任务)。
我尝试的另一种方法是:
b.mustRunAfter(a)
但这只有在我像这样运行 gradle 任务时才有效:
gradle -q a b
这也不理想。
是否可以简单地从现有任务中调用另一个任务?
【问题讨论】:
-
这里的答案还不错:stackoverflow.com/a/13868051/491553
标签: gradle build.gradle