В вашем примере выполняется только задача copy
. Тем не менее, оба настроены .
Сборка Gradle имеет три различных фазы в жизненных циклах сборки:
- Фаза инициализации
- Конфигурация фаза
- фаза выполнения
По умолчанию Gradle настраивает все задачи при запуске, хотя многие типы конфигураций могут быть отложены (отложенная конфигурация).
Оператор println
, который вы имеете в задаче hello
, является частью конфигурации, и поэтому вы видите его независимо от того, какую задачу вы намереваетесь выполнить. Вы также можете увидеть в выводе, который находится под заголовком > Configure project :
.
Если вы хотите печатать «hello» только при фактическом выполнении, переместите его в блок doLast
, например:
task hello {
doLast {
println "hello"
}
}