Ответ 1
Если вы хотите повторно запустить все задачи, вы можете использовать параметр командной строки --rerun-tasks
. Однако это в основном то же самое, что делать чистым, поскольку оно перезапускает все задачи.
Если вы хотите запускать отдельную задачу каждый раз, вы можете указать, что она никогда не обновляется:
mytask {
outputs.upToDateWhen { false }
}
Если вы хотите повторно запустить одну задачу один раз и оставить все остальные задачи, вам нужно реализовать немного логики:
mytask {
outputs.upToDateWhen {
if (project.hasProperty('rerun')) {
println "rerun!"
return false
} else {
return true
}
}
}
И затем вы можете заставить задачу перезапустить, используя:
gradle mytask -Prerun
Обратите внимание, что это также перезапустит все задачи, зависящие от mytask
.