私はツタの構成に裏打ちされた複数のプロジェクトを維持しています。次のような多くの構成が重複しています。
- 一般的なビルド構成(pmd、findbugs);
- 依存関係グループ(春);
共有構成を参照してこれらの依存関係をインポートする方法はありますか?
NB私が知っているように、Mavenを提案しないでください。ただし、これらの特定のプロジェクトでは(まだ)オプションではありません。
インクルードはあなたが必要なことをしますか、それとも問題はもっと複雑ですか?
ドキュメントから:
<ivy-module version="1.0">
<info organisation="myorg"
module="mymodule"/>
<configurations>
<include file="path/to/included-configurations.xml"/>
<conf name="conf3"/>
</configurations>
<dependencies>
<dependency name="mymodule1" rev="1.0"/>
<dependency name="mymodule2" rev="2.0" conf="conf2,conf3->*"/>
</dependencies>
</ivy-module>
次のようなincluded-configurations.xmlを使用します。
<configurations defaultconfmapping="*->@">
<conf name="conf1" visibility="public"/>
<conf name="conf2" visibility="private"/>
</configurations>
更新:依存関係については、それが可能かどうかはわかりません。循環依存を回避するための設計によるものであることを示す依存関係のインポートに関する議論を見つけました。
おそらく、参照されたivyファイルを処理し、依存関係をプロジェクトにインライン化するスクリプトを作成できますか?
あなたの質問を読んで、svn:externals
Ivyではなく(Subversionを使用している場合)を使用して問題を解決します。
すべての共通構成をconfig Subversion プロジェクトに配置し、それを使用svn:externals
して他のプロジェクトにインポートするだけです。
例として、 Google Codeの構成プロジェクトを見てみましょう。