2009-07-22 147 views
3

我在维护由ivy配置支持的多个项目。许多配置重叠,例如:分享常春藤配置

  • 常见构建配置(pmd,findbugs);
  • 依赖群组(spring);

有没有办法通过引用共享配置来导入这些依赖关系?


N.B.请不要暗示Maven,因为我知道它,但它不是(但)这些特定项目的选项。

回答

2

请问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> 

与包括-configurations.xml这样的:

<configurations defaultconfmapping="*->@"> 
    <conf name="conf1" visibility="public"/> 
    <conf name="conf2" visibility="private"/> 
</configurations> 

更新:对于依赖关系,我不知道这是可能的。我发现a discussion关于导入依赖关系,表明这是通过设计来避免循环依赖关系。

也许你可以编写一个脚本来处理引用的ivy文件并将依赖项内联到你的项目中?

+0

感谢您的回答。我想包括依赖关系,例如导入一个'findbugs'配置,并且他们所有的依赖都被拉入。 – 2009-07-22 09:28:02

0

读你的问题,我会通过使用svn:externals(如果你使用Subversion)而不是常春藤来解决问题。

将所有常用配置放入配置 Subversion项目并简单地使用svn:externals将其导入其他项目。

作为例子,你可以在我的config project谷歌代码看看: