我有一个build.gradle文件,我使用Java插件,我有两个自定义任务。
task first(...) {
}
task second(...) {
dependsOn('compileJava')
}
我希望Java插件的compileJava
任务取决于我的first
任务。我知道我可以这样做:
tasks.compileJava.dependsOn += first
当我运行second
任务时,我希望compileJava
任务不依赖于first
任务。
只有在任务second
运行时,如何才能首先从compileJava任务中删除dependsOn?
答案 0 :(得分:2)
调用project.gradle.startParameter.getTaskNames()
将返回要在此构建中执行的任务的名称。然后,您可以使用返回的值来调整语句tasks.compileJava.dependsOn += first
,以确定要执行的任务列表是否包含任务second
,即:
if (project.gradle.startParameter.taskNames.contains("second")) {
tasks.compileJava.dependsOn += first
}