Comprender la sintaxis maravillosa en una definición de tarea de gradle

Soy nuevo en Gradle y Groovy e intento entender lo que sucede a nivel de groovy cuando se define una tarea de gradle.

task hello  { 
   println "configuring task hello" 
   doLast {
     println "hello there" 
   }
}

Al leer el libro "Gradle In Action" sé que eltask hello {} es realmente una llamada a latask() método del maravillosoProject interfaz. En la página 77 muestra que hay 4 métodos llamados tarea enProject interfaz

task(args: Map<String,?>, name:String)
task(args: Map<String,?>, name:String, c:Closure)
task(name: String)
task(name: String, c:Closure)

Entiendo que el{} Es el cuerpo de cierre.

Lo que no entiendo es cómo interpreta Groovyhello entask hello { } de acuerdo ahttps://stackoverflow.com/a/25592665/438319 hay un maravilloso compilador que conviertetask hello { } dentrotask('hello', { })

Mis preguntas:

¿Dónde puedo encontrar información sobre el complemento Gradle Groovy Compiler que realiza la conversión?

¿La afirmación de que los scripts de Gradle son programas geniales es técnicamente incorrecta ya que gradle de alguna manera extiende el lenguaje de programación Groovy?

¿Hay alguna manera de obtener elgradle comando para imprimir el código maravilloso base que se genera después de que se haya ejecutado el complemento del compilador?

Respuestas a la pregunta(1)

Su respuesta a la pregunta