インストール実行に必要なソースコード類一式はgithub上に置いてあります。http://wiki.github.com/nobeans/maven-tools/実行にはGroovy1.7以上が必要です。別途インストールして下さい。ダウンロードはこちら。普通に↓な感じでどこかにcloneした後、PATHを通してください。PATH=$PATH:$INSTALL_DIR/maven-tools/bin動作確認としてヘルプを表示してみてください。(HEAVY)使ってみる品揃えをざっくりと確認するまずは欲しいプロダクトを見つけるための検索です。結果は1アーティファクトにつき1行で表示されます。de.huxhorn.sulky:de.huxhorn.sulky.ioリリース済みバージョンを確認する最新バージョンはなんだっけ?というときに便利です。[1.3.2]...(省略)...POMファイルにすぐ貼れるXML形式で出力するよさげな検索キーワードが見つかって、検索結果がうざくない程度に絞り込めたら、その検索キーワードを使って、POMファイルの断片形式で出力してみます。[1.3.2]http://mvnrepository.com/artifact/org.apache.commons/commons-io...(省略)...こんな感じ。オプションの-pがPOM形式出力を指定してます。-vをつけると、リリース済みバージョン一覧を取得して、かつ、その先頭のバージョンを最新バージョンとみなして、pom形式のXML内に展開してくれます。-uは、mvnrepository.com上のアーティファクトの詳細ページへのURLを出力するオプションです。-vと-uを外してみると、こんな感じ。<artifactId>commons-io</artifactId></dependency>...(省略)...バージョンとURLが出力されてませんね。pomにこれをコピペした場合、バージョン指定が省略されたことになり、その時点の最新バージョンを使うという指定になります。Groovyスクリプトにすぐ貼れるGrape形式で出力するもちろん我らがGrapeの@Grab記法でも出力できます。[1.3.2]http://mvnrepository.com/artifact/org.apache.commons/commons-io...(省略)...-vと-uを外してみると、こんな感じ。IO@Grab("org.apache.commons:commons-io:*")...(省略)...コピペで楽々ですね。検索のクセなお、mvnrepository.comの検索に100%依存しているので、指定した文字列に対して何がヒットするかは、ちょっと直感的ではない部分がありますがご了承ください。例)単語の一部だけを指定してもヒットしない("groo"と指定して"groovy"系プロダクトはヒットしない)空白区切りで複数のキーワードを指定するとOR検索っぽい-vオプションはサーバ負荷が高い-vオプションを指定した場合のみ、検索して見つかったアーティファクトごとに個別に詳細情報を取得しに行くので、アーティファクト数が多いとサーバに高負荷がかかります。意図せずにDoS攻撃になってしまうのはまずいので、現状では一度に10個のアーティファクトまでしかバージョン解決ができないようになっています。mvnsearch.groovy内の定数を変更することで緩和できますが、mvnrepository.comの人にDoS攻撃とみなされてしまっても当方では責任は負いかねます。自己責任でお願いします。良いかもしれない技巧についてCliBuilderによるパラメータ処理ちょっと融通が利かないところもあるけど、このくらいのスクリプトでさらっと使うには非常に便利。JavaScriptでよくやる高階関数っぽい記法printArtifactクロージャのとことか。必然性はたぶん、ないです。書いてみたかっただけ。Gparsを利用してマルチスレッド化シングルスレッド直列だと遅かったので。ActorとかAsynchronizerは慣れてくると便利。これも多重度あげすぎるとサーバ負荷がまずいので、現状では5スレッドにしてあります。おわりに個人的にはすごく使えるツールになっていい感じです。githubのWikiにはちょっとだけ書いてありますが、とあるツールを使うとgroovyが爆速になって最高なんですが、それは"あとで書く"。簡単に言えばMaven2のようなものですね。千秋楽はMariottホテルで月別アーカイブはてなブログをはじめよう!nobeansさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。