【问题标题】:How to retrieve artifacts with per specific patterns using ant ivy如何使用 ant ivy 检索具有特定模式的工件
【发布时间】:2018-12-06 14:49:49
【问题描述】:

我有一个巨大的依赖关系,它导出了许多依赖关系。我希望将我的检索限制在其中几个。模式是 [artifact]-[revision].[ext].

我如何在 ivy:retrieve 任务调用中指定这个

【问题讨论】:

  • @Mark,谢谢你。例如,这个依赖发布了 a1.tar,a2.jar,... an.zip 我想检索 a1.tar,an.zip 就是这样。我不想下载所有东西,因为它需要很长时间。

标签: ant ivy


【解决方案1】:

ivy 中的配置是控制 ivy 中依赖组的机制。

一旦在您的 ivy 文件中设置了这些配置,就可以轻松地在 ANT 构建中检索它们,如下所示:

<ivy:retrieve pattern="lib/[artifact].[ext]" conf="my_custom_conf"/>

也许您可以提供更多关于您想要实现的目标的详细信息,并且有人可以演示如何为此目的设置配置。 (我还建议搜索 Stackoverflow ivy 标签,以获取其他示例)

更新

如果一个 ivy 模块发布了多个工件,则可以在 ivy 文件中限制依赖关系,如下所示:

ivy.xml

<configurations>
    ..
    <conf name="archives" description="Configuration containing only archive files"/>
</configurations>

<dependencies>
    ..
    <dependency org="acme" name="foo" rev="2.0" conf="archives->default">
        <artifact name="a1" type="tar"/>
        <artifact name="an" type="zip"/>
    </dependency>
</dependencies>

或者..

查看远程模块的 ivy.xml。这些文件可能已经有一个配置设置,在这种情况下它会变得简单很多(因为它是预先设置的)

<dependency org="acme" name="foo" rev="2.0" conf="archives->remotearchives"/>

依赖项的“conf”部分是将远程配置映射到本地配置。

【讨论】:

  • 为了在 ivy.xml 之上作为独立文件工作,我将内容包装在 ivy:module 中。 &lt;ivy-module version="1.0"&gt; &lt;info organisation="your-org" module="your-module"/&gt; &lt;configurations&gt; ... &lt;/ivy-module&gt; 并在您的 build.xml 文件中将其称为 &lt;ivy:retrieve file="ivy" pattern="${ivy.lib.dir}/[conf]/[artifact].[ext]"/&gt;。希望这对某人有所帮助。
猜你喜欢
  • 2015-06-18
  • 2017-07-06
  • 2017-11-15
  • 2016-09-22
  • 2023-04-07
  • 2014-07-11
  • 2014-09-12
  • 2017-12-01
  • 1970-01-01
相关资源
最近更新 更多