マルチモジュールのant + ivyプロジェクトがあります。プロジェクト間の依存関係は、ivy.xml ファイルに記録されます。
が<ivy:retrieve>
呼び出されると、ローカル プロジェクトを含むすべての依存関係をダウンロードしようとします。
ローカル プロジェクトを取得から除外するにはどうすればよいですか?
あるいは${projects.dir}/*/ivy.xml
、IvyDE がワークスペース リゾルバーで行うように、ファイルシステム リゾルバーを使用して に解決できる可能性があります。
アップデート
ローカル プロジェクトのみを除外したいが、推移的な依存関係を取得したい。IvyDE ワークスペース リゾルバーの動作を複製する必要がありますが、Eclipse の外部にあります。
例
与えられたプロジェクト構造:
- プロジェクト/
- local.module1/
- 置き場/
- ライブラリ/
- build.xml
- アイビー.xml
<dependency org="local" name="local.module2" />
- local.module2/
- 置き場/
- ライブラリ/
- build.xml
- アイビー.xml
<dependency org="external" name="library1" />
- common.xml
- build.xml
- local.module1/
local.module1
ローカル プロジェクト (local.module2) を除くすべての推移的な依存関係 (local.module2、external.library1) を取得できるようにしたいので、実質的にはexternal.library1
.
これから、ローカル プロジェクトへの直接参照と外部ライブラリへの jar 参照で構成されるビルド クラスパスを構築したいと考えています。module1 の場合:
- ../local.module2/bin
- lib/external.library1-1.0.jar
なぜだろうと疑問に思われる方のために、最小限の変更でアイビーを既存のビルドシステムに適合させようとしています。