サーチ…


備考

doLast

注意してください、 gradle 3.xより慣用的な方法では、タスク定義: 明示的な doLast {closure}表記を使用する代わりに、 "leftShift"(<<)演算子を使用することをお勧めします( leftleftgralele 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