我有问题如何重用Gradle中的现有任务以及推荐的方式? 我想改变重用任务的一些属性。
我发现可以在dependsOn中执行或调用execute,但这是推荐的方法吗?我已经读过不推荐执行。它看起来像dependsOn是更好的方式。
示例:
task task1() {
description = "task1"
doLast {
println description
}
}
task callModifiedTask1ByDependsOn() {
dependsOn {
task1 {
description = "modified task 1 by dependsOn"
}
}
}
task callModifiedTask1ByExecute() << {
project.task1 {
description = "modified task 1 by execute"
}.execute()
}
答案 0 :(得分:1)
嗯......明确地调用execute()
似乎不是一个好主意。请注意execute()
方法是Gradle的内部 API的一部分,因此它可能会发生变化。
根据可重复使用的任务您可以完成与在Gradle中完成的任务完全相同:例如copy
任务。只需实现任务并配置为执行而更改的部分(例如from
)。您dependsOn
的示例或多或少地遵循此方案。
答案 1 :(得分:1)
任务不能“重用”,也不能从其他任务调用(仅依赖于)。相反,宣布多个任务。