【问题标题】:Sharing ivy configurations分享常春藤配置
【发布时间】:2010-11-12 22:09:48
【问题描述】:

我正在维护多个由 ivy 配置支持的项目。许多配置重叠,例如:

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

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


注意据我所知,请不要推荐 Maven,但它(还)不是这些特定项目的选择。

【问题讨论】:

    标签: java ant ivy


    【解决方案1】:

    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 文件并将依赖项内联到您的项目中?

    【讨论】:

    • 感谢您的回答。我也希望包含依赖项,例如导入“findbugs”配置,然后将所有依赖项都拉进去。
    • 对不起,我的常春藤力量很弱。我添加了一个更新,显示了我在依赖处理方面的发现。
    【解决方案2】:

    阅读您的问题后,我会使用 svn:externals(如果您使用的是 Subversion)而不是 Ivy 来解决问题。

    您将所有常用配置放入一个config Subversion 项目,然后只需使用svn:externals 将其导入其他项目。

    例如,您可以在 Google Code 上查看我的config project

    【讨论】:

      猜你喜欢
      • 2011-10-26
      • 2011-10-28
      • 1970-01-01
      • 2010-12-30
      • 2011-02-24
      • 1970-01-01
      • 2013-04-26
      • 2012-01-13
      相关资源
      最近更新 更多