重置gradle任务的UP-TO-DATE属性?
有没有一种方法可以强制重新运行gradle任务,或者将所有任务重置为非UP-TO-DATE状态?
尝试使用重buildGradle的caching的-C rebuild来运行你的构build。 
 在较新版本的Gradle中,使用--rerun-tasks 
 如果您只需要一个任务就可以运行,您可以在任务中设置outputs属性。 
 outputs.upToDateWhen { false } 
请注意,如果您的任务没有任何定义的文件input,即使使用上述代码,Gradle也可能会跳过该任务。 例如,在Zip或Copy任务中,需要在任务定义的configuration阶段提供至less一个文件。
 你可以使用cleanTaskname 
假设你有
 :someproject:sometask1 UP-TO-DATE :someproject:sometask2 UP-TO-DATE :someproject:sometask3 UP-TO-DATE 
而你想强迫我们说sometask2再次运行你可以
 someproject:cleanSometask2 
在运行完所有的任务之前。
显然在gradle中,理解UP-TO-DATE的每一个任务都能理解如何自我清理。
 我有一个艰难的情况,在任务中设置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 } } } }