【问题标题】:How to use Ant delete to delete from pathid如何使用 Ant delete 从 pathid 中删除
【发布时间】:2013-07-15 02:40:51
【问题描述】:

我有一个超级棒的任务,它填充了一个路径 id...

    <ivy:cachepath organisation="XXXX" module="ZZZZ" revision="0.2.4-SNAPSHOT" inline="true"  pathid="mypath"/>

在不编写复杂的 Java 代码的情况下,有没有办法将“mypath”转换为 ant 任务可以接受的东西?我真的很想专门删除这些缓存文件(我正在解决 Ivy 中的一个错误,它实际上并没有重新获取快照)。

【问题讨论】:

  • 你可以忽略常春藤部分。除了它提供了一个 pathid 之外,它对讨论并不是很重要。我只想删除“mypath”中填充的文件
  • 我并不是要不敏感,但如果你想删除一个 ANT 路径的内容......为什么不直接使用替代的空路径。需要检查,但我认为路径的内容在 ANT 中是不可变的。

标签: ant ivy


【解决方案1】:

这对我有用:

<path id="test">
    <pathelement path="${basedir}/foo"/>
    <pathelement path="${basedir}/bar"/>
</path>
<delete>
    <path refid="test"/>
</delete>

我没有使用&lt;ivy:cachepath/&gt;,但我确实创建了一个路径 ID,并且能够使用该路径作为 refid 删除各个元素。

【讨论】:

  • 谢谢!确实做到了!
【解决方案2】:

不明白你想做什么。大多数 ANT 任务接受类路径引用,这是 ivy cachpath 任务创建的。其次,从常春藤缓存中删除文件似乎很可疑......有点违背了使用常春藤的目的:-)

但你问了,所以我建议使用 ivy 检索,如下所示:

  <ivy:retrieve pattern="${build.dir}/lib/[artifact](-[classifier]).[ext]">
     <dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" conf="default"/>
     <dependency org="org.slf4j" name="slf4j-simple" rev="1.7.5" conf="default"/>
  </ivy:retrieve>

  <path id="mypath">
     <fileset dir="${build.dir}/lib" includes="*.jar"/>
  </path>

注意:

  • 嵌套依赖声明需要 ivy > 2.3.0

更新 1

我怀疑您的常春藤“错误”获取快照实际上是您的常春藤设置文件的问题。只有ibilio 解析器了解Maven 跟踪快照的内部机制。有关“m2compatible”和“useMavenMeta”选项的更多信息,请阅读。

更新 2

您是否将 ivy 中的快照发布到像 Nexus 这样的 Maven 存储库中?

是的...这是一个已知问题。可能需要考虑的解决方法如下:

我的建议是避免发布快照,除非您需要使用 Maven 项目。 ivy 有一个很棒的 buildnumber 任务,它可以让生成独特的 build 变得轻而易举。意见不一。

【讨论】:

  • 我不想取回我想删除。如何删除“mypath”中列出的所有内容?
  • 部分问题是我的问题被“编辑”了。我最初的问题是现在将“mypath”传递给
  • 路径后处理非常复杂。首先使用 pathconvert 将路径转换为属性,然后使用 javascript(或其他 3rd 方任务,如 groovy)拆分属性并重建新路径....正如我在更新中所说,我高度怀疑你的底层根本原因有一个更简单的解决方案。
  • @user959690 编辑没有改变问题。我只是添加了一个常春藤标签。
  • XXX:8082/nexus/content/groups/public"> 是我们使用的,但 Ivy 没有更新当我们将新的更改推送到 Nexus 服务器时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-02
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
相关资源
最近更新 更多