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