gradle
Aufgabenabhängigkeiten
Suche…
Bemerkungen
doLast
Beachten Sie , dass in einem gradle 3.x mehr idiomatischen Weg Aufgabendefinition: explizite doLast mit {} Schließung Notation statt „Leftshift“ (<<) Operator bevorzugt (Leftshift in einer gradle 3.2 veraltet ist geplant in gradle 5.0 entfernt werden. .)
task oldStyle << {
println 'Deprecated style task'
}
ist äquivalent zu:
task newStyle {
doLast {
println 'Deprecated style task'
}
}
Hinzufügen von Abhängigkeiten mithilfe von Tasknamen
Wir können die Ausführungsreihenfolge von Tasks mit der dependsOn
.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
Hinzufügen von 'hängt von: Ursachen ab:
- Aufgabe B hängt von Aufgabe A ab
- Absolvieren Sie eine
A
Task immer vor derB
Task-Ausführung.
Und die Ausgabe ist:
> gradle -q B
Hello from A
Hello from B
Abhängigkeiten aus einem anderen Projekt hinzufügen
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
Um auf eine Aufgabe in einem anderen Projekt zu verweisen, geben Sie dem Pfad des Projekts, zu dem er gehört, den Namen der Aufgabe an :projectB:B
Und die Ausgabe ist:
> gradle -q B
Hello from A
Hello from B
Abhängigkeit mithilfe eines Aufgabenobjekts hinzufügen
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
Es ist eine alternative Methode, um die Abhängigkeit zu definieren, anstatt den Aufgabennamen zu verwenden .
Und die Ausgabe ist die gleiche:
> gradle -q B
Hello from A
Hello from B
Mehrere Abhängigkeiten hinzufügen
Sie können mehrere Abhängigkeiten hinzufügen.
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
Jetzt können Sie eine Reihe von Abhängigkeiten definieren:
B.dependsOn A
C.dependsOn B
D.dependsOn C
Die Ausgabe ist:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Anderes Beispiel:
B.dependsOn A
D.dependsOn B
D.dependsOn C
Die Ausgabe ist:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Mehrere Abhängigkeiten mit der abhängigen Methode
Sie können mehrere Abhängigkeiten hinzufügen.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D(dependsOn: ['B', 'C'] << {
println 'Hello from D'
}
Die Ausgabe ist:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D