今日の目標
Gradleを触ってみる
使うもの
参考
Gradleとは
Java(JVM)環境におけるビルドシステム(Gradle User Guide | 第1章 はじめに)
GradleのビルドスクリプトはXMLではなくGroovyで記述します。(Gradle User Guide | 第2章 概要)
大きな特長はビルドスクリプトをGradleはGroovyで書けるってことなのかな。ちなみにMavenやAntはXML。
ではスタート
準備
まずはGradleをdownloadします。参考サイトの古き良き方法でやりました。
環境変数の設定まで行って、gradle -versionを打った結果が下記のとおり。
------------------------------------------------------------
Gradle 2.9
------------------------------------------------------------
Build time:   2015-11-17 07:02:17 UTC
Build number: none
Revision:     b463d7980c40d44c4657dc80025275b84a29e31f
Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_65 (Oracle Corporation 25.65-b01)
OS:           Windows 8.1 6.3 amd64
さあ書くぞ!
Gradleはタスクという作業の単位を持っており、Gradleに任せたい作業はタスクという単位で記述するみたいです。
任意の場所にgradleファイルを作ります。参考にさせていただいたサイトと同じように、helloWorld1というディレクトリを作って、その中にbuild.gradleファイルを作ります。
task helloWorld  {
 	doLast {
		println "Hello,world!"
	}
}
保存後にgradle tasksを実行してみると、Other tasksにきちんとhelloWorldがあります。

これで実行できるようになります。
ビルドシステムにはよくある依存関係はdependsOnを使えばtask間の依存関係を解決できます。
task helloWorld  {
	description = "Hello, world!を出力します"
	
	doLast {
		println "Hello,world!"
	}
}
task gradleHello(dependsOn: helloWorld) {
	description = "Welcome to Gradle!を出力します"
	
	doLast {
		println "Welcome to Gradle!"
	}
}
※-qオプションを付けるとビルド時にログが出力されなくなります
※descriptionはtasksの説明文です
Other tasksのところにdescriptionに代入した文字列が表示されています。一個下がっているのは依存性に関係しているのかな?
言語のビルドまでいかなかった。次やる機会があったらJavaをビルドしてみたい。


