web-dev-qa-db-fra.com

Quelle est la différence entre mustRunAfter et dependOn à Gradle?

Que taskB doiveRunAfter taskA, ou taskB dependOn taskA, il semble que taskA s'exécute en premier, puis taskB s'exécute. Quelle est la différence?

28
Dan B.

Par exemple:

tasks.create('a')

tasks.create('b').dependsOn('a')

tasks.create('c')

tasks.create('d').mustRunAfter('c')
  • dependsOn - définit les dépendances des tâches. L'exécution de b ici nécessiterait que a soit exécuté en premier.
  • mustRunAfter - définit l'ordre des tâches. L'exécution de d ne nécessite pas c. Mais, lorsque c et d sont inclus, c s'exécutera avant d.
26
mkobit

Parfois, ils ont le même effet. Par exemple, si taskC dépend de taskA et taskB, alors peu importe si taskB dépend de taskA ou mustRunAfter it - lorsque vous exécutez taskC, l'ordre sera taskA, taskB, taskC.

Mais si taskC dépend de taskB uniquement, alors il y a une différence. Si taskB dépend de taskA, alors c'est la même chose que ci-dessus - taskA, taskB, taskC. Si taskB doit simplement exécuter RunAfter taskA, alors taskA ne s'exécute pas et l'exécution de taskC exécutera taskB, puis taskC.

mustRunAfter signifie vraiment si taskA s'exécute, alors taskB doit s'exécuter après lui.

1
Dan B.