gradle
Taakafhankelijkheden
Zoeken…
Opmerkingen
doLast
Merk op dat in een gradle 3.x meer idiomatische manier taakstelling: met behulp van expliciete doLast {sluiting} notatie in plaats "leftShift" (<<) operator voorkeur (leftShift is gedeprecieerd in een gradle 3.2 is gepland in gradle 5.0 te worden verwijderd. .)
task oldStyle << {
println 'Deprecated style task'
}
is gelijk aan:
task newStyle {
doLast {
println 'Deprecated style task'
}
}
Afhankelijkheden toevoegen met behulp van taaknamen
We kunnen de volgorde van uitvoering van taken wijzigen met de methode dependsOn
.
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
Het toevoegen van `afhankelijkOn: oorzaken:
- taak B hangt af van taak A
- Grijp om elke keer
A
taak uit te voeren voordat deB
taak wordt uitgevoerd.
En de output is:
> gradle -q B
Hello from A
Hello from B
Afhankelijkheden van een ander project toevoegen
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
Om naar een taak in een ander project te verwijzen, geeft u de naam van de taak voor het pad van het project :projectB:B
het behoort :projectB:B
En de output is:
> gradle -q B
Hello from A
Hello from B
Afhankelijkheid toevoegen met behulp van taakobject
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
Het is een alternatieve manier om de afhankelijkheid te definiëren in plaats van de taaknaam te gebruiken .
En de output is hetzelfde:
> gradle -q B
Hello from A
Hello from B
Meerdere afhankelijkheden toevoegen
U kunt meerdere afhankelijkheden toevoegen.
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
Nu kunt u een reeks afhankelijkheden definiëren:
B.dependsOn A
C.dependsOn B
D.dependsOn C
De output is:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Ander voorbeeld:
B.dependsOn A
D.dependsOn B
D.dependsOn C
De output is:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Meerdere afhankelijkheden met de methode afhankelijk
U kunt meerdere afhankelijkheden toevoegen.
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'
}
De output is:
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D