Ответ 1
Это общая ошибка:
task hello {
println("Any code in here is about *configuring* the\
task. By default, all tasks always get configured.")
doLast {
println("Any code in here is about *executing* the task.\
This code only gets run if and when Gradle decides to execute the task.")
}
}
Различие между фазой конфигурации и фазой выполнения, вероятно, является самой важной концепцией для понимания в Gradle. Сначала это может ввести в заблуждение и может уйти в будущем. Аналогом в мире Ant/Maven является то, что эти инструменты сначала анализируют скрипты сборки XML и строят объектную модель (возможно, разрешают некоторые свойства на этом пути), и только затем выполняют сборку.