删除另一个任务的依赖任务?

时间:2015-04-28 23:04:44

标签: java gradle

我有一个build.gradle文件,我使用Java插件,我有两个自定义任务。

task first(...) {
}

task second(...) {
  dependsOn('compileJava')
}

我希望Java插件的compileJava任务取决于我的first任务。我知道我可以这样做:

tasks.compileJava.dependsOn += first

当我运行second任务时,我希望compileJava任务不依赖于first任务。

只有在任务second运行时,如何才能首先从compileJava任务中删除dependsOn?

1 个答案:

答案 0 :(得分:2)

调用project.gradle.startParameter.getTaskNames()将返回要在此构建中执行的任务的名称。然后,您可以使用返回的值来调整语句tasks.compileJava.dependsOn += first,以确定要执行的任务列表是否包含任务second,即:

    if (project.gradle.startParameter.taskNames.contains("second")) {
        tasks.compileJava.dependsOn += first
    }