これまでにも数多のビルドツールが存在した。UNIX 環境には make や configure のようなツールがあり、Java アプリのビルドには ant、ivy、maven などが使われていた。一見して成熟した(枯れた?)かのように見えたこの分野だが、ここ最近話題に挙がっているのが gradle である。
なぜ gradle を使うのか? ―― ビルドツールの課題と解決
規約と柔軟性のジレンマ
ant を使ったことがある人ならば、他人が書いた build.xml の読みづらさにうんざりしたことがあるのではないか。その理由は、ant がビルド職人に対して処理の流れを 1 から自由に記述させるようにできているからである。別の言葉で言うならば、規約(決まり事)がないのだ。処理の順番、ディレクトリーの構成、依存関係など、すべての規約をビルド職人が考えて build.xml を記述するのである。これが原因で、ビルド職人独自の可読性の低い build.xml が出来上がってしまうのである。
そこで maven では規約の概念が導入された。ビルド職人は規約を守ることによって 1 からビルド処理を記述せずに済むようになったのである。逆を言うと、これによってビルド処理の規約がビルド職人の手からツール側へと渡り、ある意味ブラックボックス化してしまったとも言えた。maven はビルド処理の記述を軽減させてくれた反面、規約の変更をしずらくさせたのである。
そこへ gradle が現れたのである。gradle は、maven で導入された規約の概念を活かしつつ、柔軟性に富んだビルド処理を行えるようにしたのである。規約はあるが、強制ではないところが gradle の良いところである。
ビルド処理の記述性
ant や maven を使ったことがある人は、XML の余計な記述の多さに辟易としたことがあるのではないかと思う。gradle では独自の記述言語によって簡潔に記すことができる。
なぜ今、gradle なのか? ―― gradle を採用したプロジェクトの存在
人間一人の力は非力であるが、集団の力はやはり強い。gradle の知名度を一気に押し上げたのは、Android Studio によるところが大きい。2013 年 5 月に行われた Google I/O 2013 で Android Studio のビルドツールとして Gradle が採用されたと発表されたのである。
以下のグラフは Google Trends で gradle のトレンドを表示したものである。2013 年 5 月以降に急速に伸展しているのがお分かりだろう。
![gradle trends](https://yamsat.wordpress.com/wp-content/uploads/2015/06/gradle-trends.png?w=1024&h=272)
いくら良いツールであっても、人に使われなければ廃れていってしまうが、著名なプロジェクトに採用されることで gradle は今後さらに洗練されて行くのではないかと思う。先日の Google I/O 2015 では Android Studio の新バージョン 1.3 が発表され、Android Studio は盛り上がりを見せているので、Gradle のユーザーも自ずと増加することがと見込まれる。
Gradle Summit (June 11 – 12, 2015) 開催予定
2015 年 6 月 11 日にアメリカ、カリフォルニア州サンタクララにて Gradle Summit が開催される。eclipse などの統合開発環境との利用や、jenkins などの継続的インテグレーション(CI: Continuous Integration)ツールなどの話題が取り上げられる模様である。講演内容に注目が集まる。
“ビルドツール gradle、普及の兆し ―― あのプロジェクトの採用が影響” への2件のフィードバック