有没有办法强制gradle任务再次运行,或者将所有任务重置回非最新状态?
发布于 2011-09-04 17:47:08
尝试使用重建Gradle缓存的-C rebuild
运行您的构建。
在更新版本的Gradle中,使用--rerun-tasks
发布于 2011-09-03 09:14:43
您可以使用cleanTaskname
比方说你有
:someproject:sometask1 UP-TO-DATE
:someproject:sometask2 UP-TO-DATE
:someproject:sometask3 UP-TO-DATE
如果你想强制sometask2再次运行,你可以
someproject:cleanSometask2
在你运行运行它的任务之前。
显然,在gradle中,每个理解最新的任务也都知道如何自我清理。
发布于 2016-07-17 23:41:04
我遇到过一种困难的情况,在任务中设置outputs.upToDateWhen { false }
或添加标志--rerun-tasks
都没有帮助,因为每次我运行任务时,任务的setOnlyIf
都被设置为false
。
将以下代码添加到build.gradle
会强制执行myTask
gradle.taskGraph.whenReady { taskGraph ->
def tasks = taskGraph.getAllTasks()
tasks.each {
def taskName = it.getName()
if(taskName == 'myTask') {
println("Found $taskName")
it.setOnlyIf { true }
it.outputs.upToDateWhen { false }
}
}
}
https://stackoverflow.com/questions/7289874
复制相似问题