Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

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

タイトルがめちゃくちゃ長くなってしまった(^^;

今日のJJUGナイトセミナーはイベント告知後、すぐにキャンセル待ち状態となっていたので登録を諦めていたのですが…今日のお昼にみたら空きができてた!ので申し込んで行ってきました。
http://jjug.doorkeeper.jp/events/10618

Mavenはもう古い、時代はGradleだ!的な話はチラホラ聞いたことがありましたが、私は普段Mavenしか利用しておらず、実際にGradleを触ったことはないので、今日参加して色々と話が聞けて良かったです。

Gradleの本家サイト
http://www.gradle.org/

Gradle 日本語ドキュメント
http://gradle.monochromeroad.com/docs/index.html

発表の中でも紹介がありましたが、GradleはSpringHibernateの開発でも利用されていて、Androidでの開発でも採用されたとのこと。そう聞くと、ますます気になる感じです(ミーハー…)。

資料は公開される予定とのことでしたので、順次リンクさせて頂こうかなと思います。
全て公開されていたので、リンクさせて頂きました。

2014/5/1追記
@hnakayama_mistさんが当日のツイートをTogetterでまとめて下さってました!
http://togetter.com/li/661611

2014/5/1追記
@yusukeさんがustの動画公開されてました!参加できなかった方も是非。

導入編

@nobusueさんから、私のようなGradleを全然知らない人向けに説明がありました(^^)こういう初心者向けな心遣いはとてもありがたいです。

既にスライドが公開されていたので詳細は以下をみて頂くのが良いかと思います。

ビルドツールとしては、AntMavenの後発で、いいとこどりした機能を持ちつつも、単なるビルドツールに留まらない、と説明があった通り、Groovyによる記述で色々と自由に、柔軟に使えそうな印象を持ちました。

GradleラッパーやGradleデーモンなど、色々な便利機能が揃ってるんですね。

スライドの34枚目にあるplugin紹介で、一番したにチラっとvagrantの文字がみえて、気になったのですが、@grimroseさんが既に解説されていて、教えて頂きました!ありがとうございます!

Gradle Vagrant Pluginについて - grimrose's tech log -
http://grimrose.bitbucket.org/blog/html/2013/12/14/g__advent_calendar_2013.html

ビルドツールからVagrant呼び出して連携できるとは…すごい(^^;最近Vagrant使ってるから、Gradleと合わせて試してみたいところです。

基礎編

@bikisukeさんからの発表で、導入編+αといった感じの内容でしたが、Gradleの構造や、プロジェクト・タスク・プラグインといったGradle三大要素に関する概要などの説明がありました。

また、マルチプロジェクトにおけるレイアウトとして

  • 階層レイアウト
  • フラットレイアウト

の2点における使い分け・勘所を紹介されていました。

発展編

最後は@literaliceさんによる「会社で使うGradle」という発表でした。

Gradleではエンタープライズを見据えた開発がされているとのことで、Gradle開発自体のサイクルに関する説明や比較ビルドなどの紹介がありました。

触ってみる

ということで、帰宅後さっそくGradleを少しだけ触ってみました。

環境はWindows 8なので、とりあえず公式サイトのトップにある「Download Gradle 1.12」からzipを落としました。

f:id:kikutaro777:20140430234917j:plain

ソースも含んでるので56MBくらいありました(^^;不要な人はDownloadページから実行ファイルだけ取得したほうがいいかも、ですね。

解凍したのち、binフォルダを環境変数のPathに追加しました。

f:id:kikutaro777:20140430234951j:plain

コマンドラインでgradle -vと打つと

f:id:kikutaro777:20140430235040j:plain

JDK8入れてるのですが、JAVA_HOMEをみるのかな…?ってかJDK7えらい古いやつ入ってた…(^^;開発環境じゃないのでごめんなさいm(_ _;)m

で、ここから何するのがいいんだろ…と一瞬止まりながら、とりあえず日本語ドキュメントを眺めて、第7章のJavaプラグインを試してみました。今日の話にもあったので。

http://gradle.monochromeroad.com/docs/userguide/tutorial_java_projects.html#N106A0

applyだけ書いたbuild.gradleファイルを作成して

f:id:kikutaro777:20140430235503j:plain

そのファイルを置いたフォルダでgradle buildと打ってみると

f:id:kikutaro777:20140430235453j:plain

おお、なんかできた。

f:id:kikutaro777:20140430235659j:plain

せっかくなのでNetBeansで開いてみようと思い、NetBeansのGradleプラグインを入れてみました。ほとんど流れるままに進めただけですが一応キャプチャ。

f:id:kikutaro777:20140430235745j:plain

f:id:kikutaro777:20140430235751j:plain

f:id:kikutaro777:20140430235813j:plain

f:id:kikutaro777:20140430235818j:plain

f:id:kikutaro777:20140430235823j:plain

なんか証明書で警告でましたが(^^;とりあえず進めて

f:id:kikutaro777:20140430235844j:plain

インストールできたっぽい!

さきほど生成されたフォルダを開きに行くと

f:id:kikutaro777:20140501000043j:plain

Gradleのアイコンマークが!

f:id:kikutaro777:20140501000105j:plain

開くとこんな感じです。

とりあえず簡単に環境設定はできたので、時間をみて触っていきたいと思います(^^)

ちなみに、Twitterで@masanobuimaiさんがつぶやいてた+質疑でもあったのですが、IDEからGradleを使う場合、IDE+Gradleデーモンによってそれなりにメモリなどを食うようです。

NetBeansで使おうとしたら意味深に…

色々気を付けながら使おうと思います(^^;

まぁ、しばらく仕事ではMavenが続くのと、結構Mavenの色々なpluginを利用しているので、それらがGradleでどう置き換えられるか、あるいは自分達で書けるか、が把握できないと…という長そうな道のり(^^;

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村