今日の目標
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をビルドしてみたい。