RSS

Buildツール

01 7月

実は、Buildツールには結構うるさい。

Buildツールが整備されていないプロジェクトに関わるととりあえず怒る。

そしてツールを書く。

JavaプロジェクトのBuildツールといえばMavenが有名で前のプロジェクトでは使っていましたが、最近はIvyを使ってたりします。

Mavenは機能豊富だけど細かいコントロールがしづらい、と言われて依存性解決の機能だけにフォーカスしたIvyが登場しました。

両方結構使いこんでみて、実際のところMavenだと細かいことしづらいかというとそういうわけでもないです。

たしかにモジュール数が一つ、二つしかないようなプロジェクトではIvyの方がさっと構築できると思いますが、数十のモジュールを扱うようなプロジェクトではMavenの方がスタートアップにかかる工数は少なく済むと思います。

Ivyは、複数モジュールを統制するようなAntスクリプト書こうとすると、それなりに大変。

Mavenだとpom.xmlをちょこっと書けば、とりあえずBuildできるようにはなる。

細かいことしたければ、Antスクリプトを埋め込むことだってできるし、プラグイン書くとかすればいい。

依存性解決は、さすがにIvyはMavenの後に出ているだけあり賢いです。

とにかくMavenの依存しているモジュールがさらに依存しているモジュールもダウンロードしようとしてしまう仕様がひどい。

exceptionの設定をすれば省くことはできるんだけど、いちいち依存する全てのモジュールに設定していくのは正直骨がおれます。

Ivyならダウンロードするしないを1エントリ書くだけでコントロールできる。

このIvyの機能はMavenにも取り込むべきだけど、最新版とかには入っているのかな。

Mavenは、既にプラグインがたくさんあってレポート作成のプラグインもたくさんあるので、その辺考えると総合的にはMavenを使うべきと言えます。

一回自分のプロジェクト雛形を作ってしまったら、そんなに設定に時間がかかることもありませんし。

私は、次のプロジェクトからは(Javaなら)Mavenに戻すつもり。

いずれにせよ雛形があると結構助かるので、MavenとIvyの雛形をそのうちGithubあたりに上げようと思ってます。

広告
 
コメントする

投稿者: : 2009/07/01 投稿先 Uncategorized

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。