如何在Gradle中重用现有任务

时间:2014-05-12 14:37:13

标签: gradle

我有问题如何重用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()
}

2 个答案:

答案 0 :(得分:1)

嗯......明确地调用execute()似乎不是一个好主意。请注意execute()方法是Gradle的内部 API的一部分,因此它可能会发生变化。

根据可重复使用的任务您可以完成与在Gradle中完成的任务完全相同:例如copy任务。只需实现任务并配置为执行而更改的部分(例如from)。您dependsOn的示例或多或少地遵循此方案。

答案 1 :(得分:1)

任务不能“重用”,也不能从其他任务调用(仅依赖于)。相反,宣布多个任务。