最も簡単な解決策は、ivyのURLリゾルバーを使用してjavascriptファイルを直接取得することです(以下の例を参照)。
より完全な(そして複雑な)解決策は、パッケージャーリゾルバーを使用するか、必要なファイルをホストするためのリポジトリーをセットアップすることです。
例
├── build.xml
├── ivysettings.xml
├── ivy.xml
└── build
└── js
├── jquery.js
├── jquery-min.js
├── jquery-migrate.js
└── jquery-migrate-min.js
build.xml
<project name="demo" default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve">
<ivy:resolve/>
</target>
<target name="build" depends="resolve">
<ivy:retrieve pattern="build/js/[artifact](-[classifier]).[ext]" conf="javascript"/>
</target>
<target name="clean">
<delete dir="build"/>
</target>
<target name="clean-all" depends="clean">
<ivy:cleancache/>
</target>
</project>
ノート:
- ivy取得タスクは構成を使用します。これにより、ビルド内のさまざまな場所にアーティファクトを配置できます。
ivy.xml
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="com.myspotontheweb" module="demo"/>
<configurations>
<conf name="javascript" description="JS dependencies"/>
</configurations>
<dependencies>
<dependency org="com.jquery" name="jquery" rev="1.9.1" conf="javascript->default">
<artifact name="jquery" type="js"/>
<artifact name="jquery" type="js" e:classifier="min"/>
</dependency>
<dependency org="com.jquery" name="jquery-migrate" rev="1.1.1" conf="javascript->default">
<artifact name="jquery-migrate" type="js"/>
<artifact name="jquery-migrate" type="js" e:classifier="min"/>
</dependency>
</dependencies>
</ivy-module>
ノート:
- リモートモジュールにはivyファイルがありません。これにより、取得するアーティファクトを指定する必要があります。
- この例では、追加の属性を使用して、縮小されたファイルを示します。
- Javascriptの依存関係は、「javascript」構成にマップされます(ビルドファイルでの「取得」タスクの使用を参照)。
ivysettings.xml
<ivysettings>
<settings defaultResolver="central"/>
<resolvers>
<ibiblio name="central" m2compatible="true"/>
<url name="jquery">
<artifact pattern="http://code.jquery.com/[artifact]-[revision](.[classifier]).[ext]"/>
</url>
</resolvers>
<modules>
<module organisation="com.jquery" resolver="jquery"/>
</modules>
</ivysettings>
ノート:
- デフォルトのリポジトリはMavenCentralです。jqueryモジュールは、一致するURLリゾルバーにマップされます。
- オプションの追加属性がURLで使用されます