Gradle 使ってみる

ビルドツール Gradle をちょっとだけ使ってみたので、内容をメモしておきます。

以下のドキュメントを参考に、簡単にタスクの定義やら、タスクに依存関係持たせるとかをやってみました。

・Gradle User Guide
- 第6章 ビルドスクリプトの基本
http://gradle.monochromeroad.com/docs/userguide/userguide_single.html#tutorial_using_tasks

環境は、今回 Eclipse 4.4 使いたかったので、[ Eclipse Marketplace ] で「Gradle」で検索すると出てくる「Gradle Integration for Eclipse (4.4) ・・・」でやってます。
※ プロジェクトは「Gradle Project」から「Sample Project」で「Java Quickstart」を選択して作成。

1. タスクの定義


'test1' を出力するタスク t1 を定義する。build.gradle に以下の内容を追記する。

task t1 << {
 	println 'test1'
 }

※ タスクの書き方は他にもあるみたいですね。

・Gradle User Guide
- 第15章 タスク詳解
http://gradle.monochromeroad.com/docs/userguide/userguide_single.html#more_about_tasks

タスクを実行する ( 実行は [ build.gradle を右クリック ] - [ Gradle Build ] - [ Type tasks in the editor below.~ に t1 と記述 ] - [ Run ] )。

[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks: 
[sts]      t1
[sts] -----------------------------------------------------
:t1
test1

BUILD SUCCESSFUL


2. 既存のタスクにアクションを追加する


t1 タスクに 'test1 add' と出力するアクションを追加します。

task t1 << {
 	println 'test1'
 }
 
t1 << {
 	println 'test1 add'
}

タスクを実行する。

[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks: 
[sts]      t1
[sts] -----------------------------------------------------
:t1
test1
test1 add

BUILD SUCCESSFUL


3. タスクに依存関係を持たせる


t1 タスクに依存した t2 タスクを定義する

task t2(dependsOn: t1) << {
 	println 'test2'
}

タスクを実行する。

[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks: 
[sts]      t2
[sts] -----------------------------------------------------
:t1
test1
test1 add
:t2
test2

BUILD SUCCESSFUL


4. 複数のタスクを実行する


Eclipse の「Type tasks in the editor below.~」の箇所に "t1 t3" と並べて書くと t1 -> t3 の順でタスクが実行される。
※ t3 は 'test3' と出力するだけのタスク。

[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks: 
[sts]      t1
[sts]      t3
[sts] -----------------------------------------------------
:t1
test1
test1 add
:t3
test3

BUILD SUCCESSFUL


全然しょぼい内容ですが、ひとまずこのあたりで。以上です。

リファレンスは以下になります。

・Task - Gradle DSL Version 2.2-20140924021627+0000
http://gradle.monochromeroad.com/docs/dsl/org.gradle.api.Task.html

・Gradle DSL Version 2.2-20140924021627+0000
http://gradle.monochromeroad.com/docs/dsl/index.html