アウトプットができる技術者に

it's a time to take a new step !

Gradle とは

JJUG&JGGUG 共催ナイトセミナ 「4.30 2時間で分かる!次世代ビルドツールの本命Gradleの全貌」に行ってきました

会場はOracle。初乗り
いまいち纏まってないけど、とりあえずUP

Gradle とは
  • 次世代のbuild ツール
    • 世の中的に build tool は、(make) -> Ant -> Maven -> Gradle と進化してきているらしい
  • 日本のユーザーグループは、JGGUG(Japan Grails/Groovy User Group = JGGUG = ジェイガグ)

特徴

  • Ant/Mavenのいいとこどり
    • Ant : build が煩雑になると、build xml が複雑に大量になりすぎる
    • Maven : ドメインモデル・依存性管理を導入 (このjarファイルはどこから取ってきたの?という話にならないようにする)
    • Maven : Mavenは規約がきつすぎる(=規約に合わないプロジェクトだと大変)
    • Maven : plugin 作るのが大変

... Ant/Maven の悪口になってる。。

  • xmlではなく Groovyで記述

- java 言語ライブラリを直接使える
- if switch 条件分岐が楽

  • cross platform
  • 既存の Ant build xml を利用できる

キラーコンテンツ

  • multi project を念頭に置いた機能
  • Gradle ラッパー
    • リポジトリからひとつDLして、すぐに使えるようになる
    • JenkinsなどのCI環境でもラッパーさえあればOK
    • ラッパーがあることで、versionの統一が可能

Tips

  • Gradle デーモン機能により、起動を高速化できる
最近の傾向
  • Android の次期ビルドに採用予定
インストール
  • java 1.5異常 1.8には未対応
簡単なサンプルコード
task hello << {
    println "Hello"
}
  • sample コードは Downloadしてきた zip ファイルの中にたくさんあり
今後

次のリリースは 2.0
1.x 系は 1.12 で最後

感想
  • script言語でbuildが書けるのは魅力的な気がする
    • buildツール使わずに、shell script で書けばよくない?と思ってる人なので余計にそう思うのかも。
  • OSSのProjectでは、結構使われているので、今後の拡大に期待
  • 自分の職場環境だとすぐには使えないだろうから、 2.x 系から 見て行こうかなというところ