Gradleではタスク間の依存関係の指定ができます。 build.gradle: task a << { println "A" } task b(dependsOn: "a") << { println "B" } task c(dependsOn:"a") << { println "C" } task d(dependsOn: ["b", "c"]) << { println "D" } 実行結果: $ gradle d :a A :b B :c C :d D BUILD SUCCESSFUL Total time: 1.612 secs 実はこの例のBとCの間の関係は不定であり、実装に基づいて(この場合はアルファベット順だったりしたはず)実行順序が決められます。 ここではA→B→C→Dになっていますね。 しかし、このようなグラフ的には一見どっちがさきに実行されても良いようにみえるB