TaskBがmustRunAfter taskAであるか、またはtaskBがdependsOn taskAであるかに関係なく、taskAが最初に実行され、次にtaskBが実行されるようです。違いは何ですか?
例えば:
tasks.create('a')
tasks.create('b').dependsOn('a')
tasks.create('c')
tasks.create('d').mustRunAfter('c')
dependsOn
-タスクの依存関係を設定します。ここでb
を実行するには、a
を最初に実行する必要があります。mustRunAfter
-タスクの順序を設定します。 d
の実行にはc
は必要ありません。ただし、c
とd
の両方が含まれている場合、c
はd
の前に実行されます。時々それらは同じ効果を持っています。たとえば、taskCがdependsOn taskAおよびtaskBの場合、taskBがdependsOn taskAであるかmustRunAfterであるかは関係ありません-taskCを実行すると、順序はtaskA、taskB、taskCになります。
ただし、taskCがdependsOn taskBのみの場合は、違いがあります。 taskBがdependsOnTaskAである場合、それは上記と同じです-taskA、taskB、taskC。 taskBが単にmustRunAfter taskAでなければならない場合、taskAは実行されず、taskCを実行するとtaskB、次にtaskCが実行されます。
mustRunAfterは実際にはtaskAが実行される場合を意味し、taskBはその後に実行される必要があります。