如何跳过解决Ivy中特定配置的依赖关系?

时间:2016-10-26 08:00:17

标签: c++ configuration dependencies ivy

我有以下问题:

我的项目(C ++)依赖于系统库。为此,我在ivy.xml文件中定义了依赖关系中的新部分,如下所示:

<ivy-module version="2.0">
  <info organisation="org.acme" module="mymodule">

  <configurations>
    <conf name="system"/>
  </configurations>

  [...]

  <dependencies>
    <dependency name="pthread" rev="*" conf="system"/>
  </dependencies>

</ivy>

我面临的问题是Ivy尝试在发布pthread之前将依赖关系解析为mymodule

用于发布的命令用于:

java -jar ivy.jar -debug -ivy ivy.xml -publish publish -publishpattern "<ivy-pattern>" -status integration -revision 0.0.1-SNAPSHOT -settings ivysettings.xml -overwrite

我检查了常春藤文档,但找不到任何关于如何告诉Ivy跳过解析特定配置的依赖关系的提示。

你们其中一个人是否有提示或想法如何配置?

提前多多感谢。

更新 我设法通过使用以下依赖项标记来排除特定配置的依赖项:

  <dependencies>
    <dependency name="pthread" rev="*" conf="system"/>
    <exclude conf="system"/>
  </dependencies>    

1 个答案:

答案 0 :(得分:0)

为此,您必须提供publish task所需的格式化,模块和修订。原因是如果没有提供publish将在最后解析的模块中查找它(检查发布任务的属性)。 因此,当您调用发布任务时,它将要求提供所有这些属性,或者预先调用解决任务。所需的属性是:

  • pubrevision
  • artifactspattern
  • 组织
  • 模块
  • 修改
  • srcivypattern

您可以查看链接以查看哪个是什么,甚至认为它非常自我解释。

现在,当我把常春藤称为罐子时,我不知道如何(或者根本不知道)你可以通过所有这些参数。也许使用列出hereivyfile。这就是为什么我给出了如何用蚂蚁任务做到这一点的答案 - 那就是因为它通常更清洁,更容易使用常春藤与蚂蚁:)