Подтвердить что ты не робот

Gradle выполняет все задачи?

У меня очень простая компоновка script как таковая

task hello{
    println("hello World")
}

task bye {
    println("bye")
}

В командной строке я запускаю gradle hello, и я получаю следующий вывод:

hello World
bye
:hello UP-TO-DATE

Почему он выполняет задачу "пока" (я предполагаю, что он выполняется, так как "пока" печатается)? Благодарю.

4b9b3361

Ответ 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 и строят объектную модель (возможно, разрешают некоторые свойства на этом пути), и только затем выполняют сборку.