Ant 如何使concat任务在出错时失败?

Ant 如何使concat任务在出错时失败?,ant,build.xml,Ant,Build.xml,在上面的片段中,我希望concat任务在filelist中的文件无法访问/定位时失败。请问实现它的最佳方法是什么?这里有一种方法可以实现同样的效果——但是在concat之前定义文件列表,并检查文件是否存在 大纲: 创建一个id为的文件列表 从相同的文件列表创建类似的文件集 获取每个文件集中的资源计数-仅选择存在的文件 比较资源计数-如果它们不同,则某些文件不存在 使用嵌入的A来比较计数。如果通过,则执行concat <concat destfile="${destFile}" fixl

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

这里有一种方法可以实现同样的效果——但是在concat之前定义文件列表,并检查文件是否存在

大纲:

  • 创建一个id为的文件列表
  • 从相同的文件列表创建类似的文件集
  • 获取每个文件集中的资源计数-仅选择存在的文件
  • 比较资源计数-如果它们不同,则某些文件不存在
使用嵌入的A来比较计数。如果通过,则执行concat

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

谢谢是否有任何方法可以提供更多信息(例如,打印缺失文件列表)等?
<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 message="Missing files for concat: ${ant.refid:missing}">