Я новичок в Gradle и Groovy и пытаюсь понять, что происходит на уровне Groovy, когда задана задача Gradle.
task hello {
println "configuring task hello"
doLast {
println "hello there"
}
}
Из чтения книги "Gradle In Action" я знаю, что task hello {}
- это действительно вызов метода task()
интерфейса Groovy 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)
Я понимаю, что {}
- тело замыкания.
Я не понимаю, как Groovy интерпретировать hello
в task hello { }
в соответствии с qaru.site/info/117593/... есть плагин для компилятора Groovy который преобразует task hello { }
в task('hello', { })
Мои вопросы:
-
Где я могу найти информацию о плагине компилятора Gradle Groovy, который выполняет преобразование?
-
Является ли утверждение, что Gradle скрипты Groovy программны технически неправильно, так как Gradle каким-то образом расширяет язык программирования Groovy?
-
Есть ли способ заставить команду
gradle
распечатать базовый код Groovy, который генерируется после запуска плагина компилятора?