我正在维护由常春藤配置支持的多个项目。许多配置重叠,例如:
- 常见的构建配置(pmd、findbugs);
- 依赖组(弹簧);
有没有办法通过引用共享配置来导入这些依赖项?
注意:据我所知,请不要建议使用 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>
像这样包含-configurations.xml:
<configurations defaultconfmapping="*->@">
<conf name="conf1" visibility="public"/>
<conf name="conf2" visibility="private"/>
</configurations>
更新:对于依赖项,我不确定是否可能。我发现一个关于导入依赖项的讨论表明这是为了避免循环依赖而设计的。
也许您可以编写一个脚本来处理引用的 ivy 文件并将依赖项内联到您的项目中?
阅读您的问题,我将通过使用svn:externals
(如果您使用的是 Subversion)而不是 Ivy 来解决问题。
您将所有常用配置放入config Subversion 项目中,然后简单地用于svn:externals
将其导入其他项目。
例如,您可以查看我在 Google Code 上的配置项目: