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

DefaultTaskクラスの利用 (2/5)

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

■Calcクラスを指定したタスク

では、DefaultTask継承クラスを利用するタスクはどのように記述するのでしょうか。その書き方を整理しておきましょう。
task タスク ( type: クラス ) {
    ……実行する処理……
}

タスク名の後の()には、引数として「type」という値を用意します。このtypeで、使用するクラスを指定するのです。

実際に実行する処理では、使用するクラスにフィールドとして用意されていた変数に値を代入する処理を用意しておきます。そうすることで、クラスの各フィールドの値を変更してタスクメソッドを実行できます。

簡単な利用例を下のリスト欄に挙げておきましょう。ここでは、先ほどのCalcクラスをtypeに指定したtotal, countという2つのタスクを作成しました。「gradle total」とすれば、100までの合計が計算され、「gradle count」とすれば1~10までの数字を順に出力していきます。

ここでは、タスクの引数に (type:Calc) としてしてありますね。これにより、Calcクラスのタスクを実行するタスクとして定義されるようになります。この中では、以下のような文が書かれています。
group グループ名
description 説明
num 整数
op 操作の種類

これらはすべて、継承元のCalcクラスにあるメソッドを呼び出しているものです。groupdescriptionDefaultTaskクラスにあるもので、それぞれグループ名と説明テキストを設定するものです。

そして、Calcクラスに用意されているnumopで計算の整数値と操作の種類を指定していた、というわけです。

こんな具合に、taskで定義された中で、type指定したクラスのメソッドを呼び出し、必要な設定を行う。そうすると、その設定がされた上で、タスクアクションが実行される――このように動いているのですね。

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

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

●プログラム・リスト●

task total(type:Calc) {
    group 'libro'
    description 'Task for calculating total.'
    num 100
    op 'total'
}

task count(type:Calc) {
    group 'libro'
    description 'Task for count number.'
    num 10
    op 'count'
}
※関連コンテンツ

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