Понимание отличного синтаксиса в определении задачи Gradle
Я новичок в Gradle и Groovy и пытаюсь понять, что происходит на уровне Groovy, когда определена задача Gradle.
task hello {
println "configuring task hello"
doLast {
println "hello there"
}
}
Из книги "Gradle In Action" я узнал, чтоtask hello {}
это действительно вызов кtask()
метод заводнойProject
интерфейс. На странице 77 показано, что наProject
интерфейс
task(args: Map<String,?>, name:String)
task(args: Map<String,?>, name:String, c:Closure)
task(name: String)
task(name: String, c:Closure)
Я понимаю что{}
это закрытие тела.
Что я не понимаю, так это как заводной интерпретироватьhello
вtask hello { }
в соответствии сhttps://stackoverflow.com/a/25592665/438319 есть отличный компилятор плагин, который конвертируетtask hello { }
вtask('hello', { })
Мои вопросы:
Где я могу найти информацию о плагине Gradle Groovy Compiler, который выполняет преобразование?
Является ли утверждение, что скрипты Gradle являются Groovy программами технически некорректными, поскольку Gradle каким-то образом расширяет язык программирования Groovy?
Есть ли способ получитьgradle
Команда для печати базового кода Groovy, который генерируется после запуска плагина компилятора?