Zoeken…


Opmerkingen

mustRunAfter en shouldRunAfter zijn gemarkeerd als "incuberen" (vanaf Gradle 3.0), wat betekent dat dit experimentele functies zijn en dat hun gedrag in toekomstige releases kan worden gewijzigd.

Er zijn twee bestelregels beschikbaar:

  • mustRunAfter
  • shouldRunAfter

Wanneer u de mustRunAfter geeft u op dat taskB altijd moet worden uitgevoerd na taskA, wanneer zowel taskA als taskB worden uitgevoerd.

De opdrachtregel shouldRunAfter is vergelijkbaar, maar minder strikt omdat deze in twee situaties wordt genegeerd:

  • als het gebruik van die regel een bestelcyclus introduceert.
  • wanneer u parallelle uitvoering gebruikt en aan alle afhankelijkheden van een taak is voldaan, afgezien van de taak shouldRunAfter , wordt deze taak uitgevoerd ongeacht of de afhankelijkheden van shouldRunAfter zijn uitgevoerd of niet.

Bestellen met de methode mustRunAfter

task A << {
    println 'Hello from A'
}
task B << {
    println 'Hello from B'
}

B.mustRunAfter A

De B.mustRunAfter A geeft Gradle opdracht om taak na taak uit te voeren die is opgegeven als argument.

En de output is:

> gradle -q B A
Hello from A
Hello from B

De bestelregel introduceert geen afhankelijkheid tussen de A- en de B-taken, maar heeft alleen effect wanneer beide taken zijn gepland voor uitvoering.

Het betekent dat we taken A en B onafhankelijk kunnen uitvoeren.

De output is:

> gradle -q B 
Hello from B


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow