libro
www.tuyano.com
初心者のためのGradle入門

タスクを作る (5/5)

作成:2017-10-21 09:50
更新:2017-10-21 09:50

■依存タスクの指定

あるタスクを実行するとき、別のタスクの実行が必須である、というような場合もあります。このような場合には、「dependsOn」という機能が利用できます。これは以下のように記述します。
task タスク名 (dependsOn:'タスク') {
    ……略……
}

あるいは、次のような書き方も可能です。
task タスク名 {
    dependsOn :'タスク'
    ……略……
}

このように記述しておくと、タスクが呼び出されたとき、まずdependsOnに指定されたタスクを実行し、それが終わった後でタスクの本処理を実行するようになります。

複数のタスクを必要とする場合は、タスク名を配列で指定します。['a', 'b', 'c'] といった具合ですね。この場合、最初に書いたタスクから実行されていきます。

下のリスト欄に利用例を挙げておきましょう。これを「gradle hello」で実行してみて下さい。以下のように出力がされます。
> Task :aaa
<< This is A task! >>

> Task :bbb
<< I'm task B!! >>

> Task :hello
*** start:hello task ***
*** end:hello task ***

最初にaaaタスク、bbbタスクが実行され、その後にhelloタスクが呼び出されていることがわかります。dependsOnにより、aaa, bbbが依存タスクとなり、これらのタスクが実行されたあとでないとhelloが実行されないようになっているのです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

task hello(dependsOn:['aaa', 'bbb'])  {
    doFirst {
        println("*** start:hello task ***")
    }
    doLast {
        println("*** end:hello task ***")
    }
}

task aaa {
    doLast {
        println("<< This is A task! >>")
    }
}

task bbb {
    doLast {
        println("<< I'm task B!! >>")
    }
}

※関連コンテンツ

「初心者のためのGradle入門」に戻る