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"
}
}
Durch das Lesen des Buches "Gradle In Action" weiß ich, dass dies task hello {}
wirklich ein Aufruf an die task()
Methode der groovigen Project
Oberfläche ist. Auf Seite 77 wird gezeigt, dass die Project
Schnittstelle 4 Methoden enthält, die als Task bezeichnet werden
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 {}
der Verschlusskörper ist.
Was ich nicht verstehe ist , wie stark zu interpretieren tut hello
in task hello { }
nach https://stackoverflow.com/a/25592665/438319 gibt es ein starkes Compiler - Plugin , dass Konvertiten task hello { }
intask('hello', { })
Meine Fragen:
Wo finde ich Informationen zum Gradle Groovy Compiler-Plugin, das die Konvertierung durchführt?
Ist die Behauptung, dass Gradle-Skripte groovige Programme sind, technisch falsch, da gradle die Programmiersprache Groovy irgendwie erweitert?
Gibt es eine Möglichkeit, den
gradle
Befehl zum Ausdrucken des Basis-Groovy-Codes zu erhalten, der nach dem Ausführen des Compiler-Plugins generiert wird?