【发布时间】:2010-11-12 22:09:48
【问题描述】:
我正在维护多个由 ivy 配置支持的项目。许多配置重叠,例如:
- 常见的构建配置(pmd、findbugs);
- 依赖组(spring);
有没有办法通过引用共享配置来导入这些依赖项?
注意据我所知,请不要推荐 Maven,但它(还)不是这些特定项目的选择。
【问题讨论】:
我正在维护多个由 ivy 配置支持的项目。许多配置重叠,例如:
有没有办法通过引用共享配置来导入这些依赖项?
注意据我所知,请不要推荐 Maven,但它(还)不是这些特定项目的选择。
【问题讨论】:
include 是做你需要的,还是问题更复杂?
来自文档:
<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>
包含的配置.xml 像这样:
<configurations defaultconfmapping="*->@">
<conf name="conf1" visibility="public"/>
<conf name="conf2" visibility="private"/>
</configurations>
更新:对于依赖项,我不确定是否可行。我在导入依赖项时发现 a discussion 表明这是为了避免循环依赖而设计的。
也许您可以编写一个脚本来处理引用的 ivy 文件并将依赖项内联到您的项目中?
【讨论】:
阅读您的问题后,我会使用 svn:externals(如果您使用的是 Subversion)而不是 Ivy 来解决问题。
您将所有常用配置放入一个config Subversion 项目,然后只需使用svn:externals 将其导入其他项目。
例如,您可以在 Google Code 上查看我的config project:
【讨论】: