gpt4 book ai didi

ant - 如何使 concat 任务因错误而失败?

转载 作者:行者123 更新时间:2023-12-04 14:30:33 24 4
gpt4 key购买 nike

<concat destfile="${destFile}" fixlastline="yes">
<filelist dir="." files="${filelist}"/>
</concat>

在上面的片段中,当无法访问/定位来自 filelist 的文件时,我希望 concat 任务失败。请问实现它的最佳方式是什么?

最佳答案

这是实现相同目的的一种方法 - 但通过在 concat 之前定义文件列表,并检查文件是否存在。

大纲:

  • 创建一个带有 id 的文件列表。
  • 从相同的文件列表创建类似的文件集。
  • 获取其中每个资源的数量 - 文件集仅选择存在的文件。
  • 比较资源计数 - 如果它们不同,则某些文件不存在。

A fail task嵌入式condition用于比较计数。如果通过,则执行连接。

<filelist id="my.list" dir="." files="${filelist}" />
<fileset id="my.set" dir="." includes="${filelist}" />
<resourcecount refid="my.list" property="my.list.size" />
<resourcecount refid="my.set" property="my.set.size" />
<fail message="Only found ${my.set.size}/${my.list.size} files for concat!">
<condition>
<not>
<equals arg1="${my.set.size}" arg2="${my.list.size}" />
</not>
</condition>
</fail>

<concat destfile="${destFile}" fixlastline="yes">
<filelist refid="my.list" />
</concat>

要获取丢失的文件列表,请使用类似的东西:

<difference id="missing">
<resources refid="my.list"/>
<resources refid="my.set"/>
</difference>

然后您可以将fail 任务修改为:

<fail message="Missing files for concat: ${ant.refid:missing}">

关于ant - 如何使 concat 任务因错误而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com