我有疑问如何在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()
}
最佳答案
嗯...明确地调用execute()
似乎不是一个好主意。注意execute()
方法是Gradle内部API的一部分,因此它可能会发生变化。
根据可重用的任务,您可以执行与Gradle中完全相同的操作: copy
任务。只需执行任务并配置要执行的更改部分即可(例如from
)。您使用dependsOn
的示例或多或少遵循了这种情况。