GroovyでApache Ivyをいろいろ試してみる(その2)
このシリーズの一覧はこちら
IvyリポジトリをWeb上に公開したい
まだわかっていないことも多いのですが、ちょこちょこ調べていった結果ivy.xml的なものを宣言して、あとは
ということで、以下のようなフォルダ構成をFTPにてアップしてみたところうまく動きました。
例: hatenahaiku4jのIvyリポジトリ
http://www26.atwiki.jp/fumokmm/pub/repos/ivy/hatenahaiku4j/hatenahaiku4j/
リポジトリ ├ivy-{バージョン}.xml …設定ファイル(ivy.xml) ├ ・ ├ ・ ├ ・ └jars ├hatenahaiku4j-[version].jar …jarファイル ├ ・ ├ ・ └ ・
ローカル側での操作
で、ローカル側では以下のような感じで取得できます。
このスクリプトは設定ファイル(ivy.xml, ivysetting.xml, build.xml(ant-script))を用意して実行する部分をGroovyで一気に行っています。
実行すると、ivy.xmlとivysetting.xmlがカレントフォルダに作成され、その後、antで
GroovyのGrapeで動かす場合
Grapeで動かす場合は、若干面倒ですが、事前にgrapeConfig.xml*1を${user.home}/.groovy/に置いてもらって、さらにchainの要素に以下を追加する必要があります。
設定ファイル例
使用例
パブリックタイムラインのユーザIDを標準出力にプリントする簡単な使用例です。
課題
ということで、なんとかIvyリポジトリをWeb上に公開はできたわけですが、Groovyで動かす場合grapeConfig.xmlに設定を追加しにゃいかんあたりが面倒ですね。Maven2リポジトリならgrapeConfig.xmlにibiblioタグの追加だけでいけるのかな? @GrabResolver(name="hatenahaiku4j", root="path/to/maven2/repository") でいけるんじゃなかろうかと思われるので、次回はこのあたりをやってみる。
(つづく)
参考
Multiple Resolvers | Apache Ivy
Groovy - Grape
Groovy - Japanese Groovy 1.7 release notes
"G"はGrapeのG
*1:http://groovy.codehaus.org/GrapeのCustomize Ivy settings参照