Verstehen der Groovy-Syntax in einer Gradle-Aufgabendefinition
Ich bin neu bei Gradle and Groovy und versuche zu verstehen, was auf der Ebene von Groovy passiert, wenn eine Gradle-Aufgabe definiert wird.
task hello {
println "configuring task hello"
doLast {
println "hello there"
}
}
urch das Lesen des Buches "Gradle In Action" weiß ich, dass dastask hello {}
ist wirklich ein Aufruf an dietask()
Methode der groovigenProject
Schnittstelle. Auf Seite 77 wird gezeigt, dass es auf dem @ 4 Methoden gibt, die Task genannt werdeProject
interface
task(args: Map<String,?>, name:String)
task(args: Map<String,?>, name:String, c:Closure)
task(name: String)
task(name: String, c:Closure)
Ich verstehe, dass das{}
ist der Verschlusskörper.
Was ich nicht verstehe, ist, wie groovy interpretierthello
imtask hello { }
gemäßhttps: //stackoverflow.com/a/25592665/43831 Es gibt ein fetziges Compiler-Plugin, das @ konvertiertask hello { }
intask('hello', { })
Meine Fragen
Wo finde ich Informationen zum Gradle Groovy Compiler-Plugin, mit dem die Konvertierung durchgeführt wird?
Ist die Behauptung, dass Gradle-Skripte technisch inkorrekte Groovy-Programme sind, da Gradle die Groovy-Programmiersprache irgendwie erweitert?
Gibt es eine Möglichkeit, das @ zu bekommgradle
Befehl zum Ausdrucken des Groovy-Basiscodes, der generiert wird, nachdem das Compiler-Plugin ausgeführt wurde?