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

タスクを作る (2/5)

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

■doFirstとdoLast

タスクは、このようにtaskの後の{}部分に処理を書くだけで作れます。が、実は普通はこんな書き方はあまりしません。

一般的なタスクの形を整理すると、だいたい以下のような形になるでしょう。
task タスク名 {

    doFirst {
        ……実行する処理……
    }
    
    doLast {
        ……実行する処理……
    }
}

タスクの{}内には、「doFirst」「doLast」といったものが用意されます。これは一種のクロージャです。これらはそれぞれ以下のような働きをします。

doFirst――最初に実行するアクション
doLast――最後に実行するアクション

タスクは、用意された「アクション」を順に実行していく働きをします。アクションというのは、具体的に実行される処理の「実行単位」みたいな感じでしょうか。タスクの中にはいくつものアクションが用意されていて、それが順次実行されていくのですね。

doFirstdoLastは、それらアクションの一番最初・一番最後に実行するものです。要するに、「タスクの基本的な処理などがあったとき、その前に実行するものと後に実行するもの」をこれらで用意する、というわけです。

これらは、2つセットで用意する必要はありません。どちらか一方だけでもかまいません。

では、実際に簡単な例を動かしてみましょう。下のリスト欄のようにhelloタスクを書き換えてみて下さい。そして、「gradle hello」を実行してみましょう。すると、以下のように出力されます。
> Task :hello
これは、helloタスクの doFirst です。
これは、helloタスクの doLast です。

サンプルでは、doLastが先に、doFirstが後に書かれていますが、実行結果を見ると、まずdoFirstが実行され、その後にdoLastが実行されているのがわかります。

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

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

●プログラム・リスト●

task hello {
    doLast {
        println('これは、helloタスクの doLast です。')
    }
    doFirst {
        println('これは、helloタスクの doFirst です。')
    }
}

※関連コンテンツ

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