2012年11月30日金曜日

Gradleのカスタムプラグイン内でタスクの依存関係を定義する

Gradleのカスタムプラグイン内でタスクの依存関係を定義する方法は、以下の通り。

class Greeting implements Plugin<Project> {
void apply(Project project) {
project.task('first', type: FirstTask)
project.task('second', type: SecondTask)
.dependsOn('first')
}
}
class FirstTask extends DefaultTask {
@TaskAction
def greet() {
println 'first'
}
}
class SecondTask extends DefaultTask {
@TaskAction
def greet() {
println 'second'
}
}
apply plugin: Greeting
view raw build.gradle hosted with ❤ by GitHub

TaskのdependsOnメソッドを使って依存関係を定義している。なお、Projectのtaskメソッドは、定義したタスク自身を返す。

上記のビルドスクリプトを実行した結果は、以下の通り。
$ gradle -q second
first
second

0 件のコメント:

コメントを投稿