我正在使用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
这也不是最理想的情况。
有没有办法从现有任务中简单地调用另一个任务?