読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

任意のURLで公開されているライブラリを取得する

URLリゾルバを利用すれば、特定のURLで公開されているモジュールを、依存モジュールとしてIvyで取得することができます。
具体的には、

  • 「ivysettings.xml」を作成し、URLリゾルバの設定を追加。
    • artifact要素の値として、取得先URLを指定。[revision]や[artifact]といったパターンが使え、モジュールの取得時にモジュールのバージョンや名前に置換されます。
    • ivy要素で、モジュールのivy.xmlファイルの取得先も指定できるようです。(未確認)
  • あとは、作成した「ivysettings.xml」をivyに読み込ませるようにすればOK。とりあえず、ivy.xml,build.xmlおよびivysettings.xmlを並列に配置すれば読み込んでくれます!

以下はURLリゾルバの設定を行なったivysettings.xmlのサンプルです。

<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
  <settings defaultResolver="url-resolver"/>
  <resolvers>
    <url name="url-resolver">
      <!-- 取得先を指定。[revison]や[artifact]はartifact名やバージョンに置き換えられる。 -->
      <artifact pattern="http://foo.com/export/xxx/yyy/[revision]/[organisation]/common/jars/[artifact].[ext]" />

      <!-- ivy要素で モジュールのivy.xmlの取得先も指定できる。
      <ivy pattern="http://foo.com/export/xxx/yyy/[revision]/[organisation]/common/ivy/[artifact].xml/>
       -->
    </url>
  </resolvers>
</ivysettings>

依存モジュールとして次の設定を行なった場合、

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
  <info organisation="ivy-test" module="test"/>
  <dependencies>
    <dependency name="common" org="var" rev="current"/>
  </dependencies>
</ivy-module>

」を実行すれば、

http://foo.com/export/xxx/yyy/current/var/common/jars/common.jar

からモジュールが取得され、

./lib/common-current.jar

に配置されます。
ちなみに、↑の設定だけだとmvnrepository.comのモジュールは探しに行かなくなるのでご注意。どうすればいいかは、明日調べる。