2016-06-02 13 views
1

ich auf unter gradle Multi-Projektstruktur einige Experimente macheVerständnis gradle Multiprojekt build.gradle Ausführungsreihenfolge

enter image description here

I println in allen build.gradle & settings.gradle Dateien zu sehen hinzugefügt in welcher Reihenfolge sie ausführen. Ich sehe, dass projectA -> build.gradle Datei nach dem Teilprojekt ausführt pA1-> build.gradle wie unten

enter image description here

ich in der Ausgabe gesehen bin nicht verstehen, warum projectA-> build.gradle läuft nach seinen Teilprojekten? Sollte es nicht vor seinem Teilprojekt ausgeführt werden, genau wie die Datei build.gradle auf root.

Lage am Projekt Multi project sample

Antwort

0

Zunächst einmal, nicht gibt eine nackte println Zeile in Ihren build.gradle Dateien nicht setzen Ihnen die Ausführungsreihenfolge. Die println wird in der Konfigurationsphase aufgerufen, wenn Sie also die Konfigurationsreihenfolge betrachten.

Wenn Sie auf alle Ihre build.gradle Dateien, vielleicht so etwas wie diese Ausführung, um eine Aufgabe mit demselben Namen untersuchen hinzufügen:

task action << { 
    println("In project: ${project.name}") 
} 

und dann gradle action aus dem Stammordner ausführen.

+0

Sp Ich habe das obige Snippet im Projekt in allen Projektblock im Root-Projekt hinzugefügt. Wenn ich es ausführe, sehe ich Ausgabe wie diese http://imgur.com/RCKhbZY. Warum würde das Kind-Submodul während der Konfigurationsphase vor dem Eltern konfigurieren? Sollte kein Elternteil vor Kind konfiguriert sein. – prashant

Verwandte Themen