2014-08-31 10 views
6

ich sowohl gradle völlig neu bin und groovy und ich habe Probleme Informationen über zu finden, was das unten ist eigentlich in der groovy SpracheWas sind Gradle Task Definitionen in groovy Sprache?

task myTask(dependsOn: 'compile') << { 
    println 'I am not affected' 
} 

AFAIK des {...} Teil ist ein Verschluss, der vergangen zu sein scheint zu was auch immer definiert ist vor <<.

Ist task myTask() ein Aufruf an einen Konstruktor?

Und was ist die Sache mit dem Doppelpunkt, der wie ein Parameter aussieht?

Was macht <<? Ist es ein Operator, der von Gradle überladen wurde, oder ist er Standard groovy?

Antwort

8

dependsOn: 'compile' ist ein benanntes Argument. << ist ein überladener Operator, der der Task eine Taskaktion hinzufügt. (Weitere Informationen finden Sie unter Gradle User Guide.) { ... } ist ein Abschluss, der die Taskaktion implementiert. myTask ist syntaktisch ein verschachtelter Methodenaufruf (task(myTask(dependsOn: 'compile') << ...)), wird aber mithilfe eines Groovy-Compiler-Plugins (task('myTask', dependsOn: 'compile') << ...) in einen String geschrieben.

+0

Projekt hat eine mehod: Aufgabe (Map Args, String-Name), anstatt Aufgabe (String-Name, Karte Args). Also sollte es Aufgabe sein (dependsOn: 'compile', 'myTask') << ... – qhdwangnan

Verwandte Themen