Java 是否删除其他任务的从属任务?

Java 是否删除其他任务的从属任务?,java,gradle,Java,Gradle,我有一个build.gradle文件,其中我使用Java插件,我有两个自定义任务 task first(...) { } task second(...) { dependsOn('compileJava') } 我希望Java插件的compileJava任务取决于我的first任务 tasks.compileJava.dependsOn += first 当我运行第二个任务时,我希望compileJava任务不依赖于第一个任务 只有当任务第二个运行时,我如何才能首先从compileJ

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

task first(...) {
}

task second(...) {
  dependsOn('compileJava')
}
我希望Java插件的
compileJava
任务取决于我的
first
任务

tasks.compileJava.dependsOn += first
当我运行第二个
任务时,我希望
compileJava
任务不依赖于第一个
任务


只有当任务
第二个
运行时,我如何才能首先从compileJava任务中删除依赖项?调用
project.gradle.startParameter.getTaskNames()
将返回要在此生成中执行的任务的名称。然后,您可以使用返回的值来调节语句
tasks.compileJava.dependsOn+=first
,以确定要执行的任务列表是否包含task
second
,即:

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

很好的解决方案。非常感谢。