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?