Das Erstellen mit Gradle ist in drei Phasen unterteilt: Initialisierung, Konfiguration und Ausführung. Der Build wird in dieser Reihenfolge ausgeführt.
Insbesondere die Einstellphase und die Ausführungsphase sind leicht zu verwechseln, Wenn Sie die Unterscheidung nicht kennen, funktionieren die von Ihnen geschriebenen build.gradle-Einstellungen möglicherweise nicht wie beabsichtigt.
Wenn Sie Folgendes in build.gradle schreiben und "gradle myTask" ausführen, wie wird es ausgegeben?
println name + ": " + "FIRST"
task myTask {
println name + ": " + "First"
doFirst {
println name + ": " + "doFirst block"
}
doLast {
println name + ": " + "doLast block"
}
println name + ": " + "Last"
}
println name + ": " + "LAST"
Das Ergebnis ist wie folgt.
gradle-test2: FIRST
myTask: First
myTask: Last
gradle-test2: LAST
:myTask
myTask: doFirst block
myTask: doLast block
BUILD SUCCESSFUL
Im obigen Beispiel wurden doFirst und doLast in der Ausführungsphase und die anderen in der Konfigurationsphase ausgewertet.
Eine andere Taskbeschreibungsmethode, myTask << {}
, entspricht doLast, es gibt jedoch eine Warnung, dass sie in Zukunft in der Umgebung von Gradle 3.3 abgeschafft wird.
Recommended Posts