gradle
タスクの依存関係
サーチ…
備考
doLast
注意してください、 gradle 3.xより慣用的な方法では、タスク定義: 明示的な doLast {closure}表記を使用する代わりに、 "leftShift"(<<)演算子を使用することをお勧めします( leftleftはgralele 5.0で廃止予定です。 。)
task oldStyle << {
println 'Deprecated style task'
}
次のものと同等です。
task newStyle {
doLast {
println 'Deprecated style task'
}
}
タスク名を使用した依存関係の追加
dependsOn
メソッドでタスクの実行順序を変更できます。
task A << {
println 'Hello from A'
}
task B(dependsOn: A) << {
println "Hello from B"
}
`dependsOn:を追加します:
- タスクBはタスクAに依存する
-
B
タスクが実行される前に毎回タスクを実行するためA
Gradle。
出力は次のとおりです。
> gradle -q B
Hello from A
Hello from B
別のプロジェクトから依存関係を追加する
project('projectA') {
task A(dependsOn: ':projectB:B') << {
println 'Hello from A'
}
}
project('projectB') {
task B << {
println 'Hello from B'
}
}
別のプロジェクトのタスクを参照するには、タスクの名前の前に :projectB:B
というプロジェクトのパスを:projectB:B
。
出力は次のとおりです。
> gradle -q B
Hello from A
Hello from B
タスクオブジェクトを使用した依存関係の追加
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
これは、 タスク名を使用する代わりに依存関係を定義する別の方法です。
そして出力は同じです:
> gradle -q B
Hello from A
Hello from B
複数の依存関係の追加
複数の依存関係を追加できます。
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
task C << {
println 'Hello from C'
}
task D << {
println 'Hello from D'
}
これで一連の依存関係を定義できます。
B.dependsOn A
C.dependsOn B
D.dependsOn C
出力は次のとおりです。
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
その他の例:
B.dependsOn A
D.dependsOn B
D.dependsOn C
出力は次のとおりです。
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
dependsOnメソッドによる複数の依存関係
複数の依存関係を追加できます。
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'
}
出力は次のとおりです。
> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow