そうまでしてMaven使うのはイヤか?

そんなにイヤじゃない。:-P
特にIDEA使ってるんで,POM直接読めたりするから,実はAntより便利なんだけど,それでもPOM書くのも,他の人にMaven教える(インスコ含む)のも面倒くさい。


POMは確かに面倒臭いが,ライブラリの依存性解決は激しく便利なので,ここだけ拝借できないかどうか試してみた。

まずは,Gant

Mavenターゲットだとか,Ivyツールだとか,取り入れようという意欲はあるんだけど,どれもまともに動いてくれなかった。orz


Groovy...特にGantは期待してるんで,ガンバッテ欲しいな。
#ちなみに,Ivyそのものに興味はないよ(そこまですんなら,Mavenでいい)。

続いて,Ruby系(ravenbuildr

どっちもrakeベースだけどナ。


ravenは,Rakefiledependencyを記述するか,以下のようにコマンドラインraven使って該当ライブラリを取ってくる。

> raven install HTTPClient

ただ,依存ライブラリまでは取ってこないみたい(それじゃダメだー)。それと,ライブラリはローカルリポジトリ($HOME/.raven)に格納しちゃうから,raven以外でビルドするのが面倒臭い(つうかムリだよな)。
#そうそう,ravenの--proxyオプションが上手く効いてくれなかったから,
#直接コードにプロキシの設定埋め込んじゃったよ。


その点,buildrだとちゃんと依存ライブラリも落としてくれる。しかもRakefileにプロキシの設定を書けたりと,なかなか至れり尽くせりだ。

require "buildr"

repositories.remote << "http://www.ibiblio.org/maven2"
options.proxy.http = "http://proxy.example.com:8080"

SPRING = "springframework:spring:jar:1.2"
artifact(SPRING).invoke

それとMaven同様,IDEAやEclipseのプロジェクトも作ってくれるので,IDEと併用するのも安心。
うん,buildr,結構悪くない。


ただなんだ,せっかくRuby(この場合,JRubyのほうがいいな)入れるんだったらビルド以外の使い道も欲しいところ。すぐ思いつくところでテストなんだけど,それだと文法が似通ってるGroovyのほうがいい。かといって,Java+Groovy+JRubyなんて佃煮状態はゴメンなので,だったらMavenでいいじゃんとなりそうダ。:-)


ps.
思うんだが,使用するライブラリがプロジェクトディレクトリ下に無いってのは,居心地悪くないんだろうか?あたしゃ,「プロジェクトで必要とするリソースは,出来る限りプロジェクト内で持っておく」をモットーとしてるので,必要なとき取ってくるっちゅうMaven的なアプローチがどうもしっくりこないのだヨ。