在我的 build.gradle 脚本中,我有很多任务,每个任务都取决于零个或多个其他任务。
可以调用三个“主要”任务moduleInstallation
:backupFiles
和restoreFiles
。
问题来了:我希望能够告诉 Gradle 哪些任务要执行,哪些不需要执行。例如,当调用 时moduleInstallation
,我希望执行所有依赖的任务(不管它们如何UP-TO-DATE flag
),而不是恢复任务。我尝试改变任务执行的阶段(例如配置阶段、执行阶段……)和其他一些事情,但所有任务都在继续执行。
我想到的一个解决方案只是在主任务中说明,当这个主任务被调用(fe moduleInstallation
)时,我们将UP-TO-DATE flag
所有不相关的任务设置为 false,因此它们不会被执行。那可能吗?
编辑:这是一个例子:
何时moduleInstallation
被调用(取决于backupFiles
),restoreFiles
(取决于restoreFromDate
)也被执行。
第一个主要动作
task moduleInstallation << {
println "Hello from moduleInstallation"
}
task backupFiles {
doLast {
println "Hello from backupFiles"
}
}
第二个主要动作
task restoreFiles {
println "Hello from restoreFiles"
}
task restoreFromDate {
println "Hello from restoreFromDate"
}
依赖项:
moduleInstallation.dependsOn backupFiles
restoreFiles.dependsOn restoreFromDate
所以当我gradle moduleInstallation
在终端输入时,我得到以下输出:
Hello from restoreFromDate
Hello from restoreFiles
Hello from backupFiles
Hello from moduleInstallation