我将20多个文件添加到具有各种包含和排除文件的文件集中。这需要一点时间,因此Ant会跳过Ant文件集上的依赖任务。它根本不会运行依赖操作。这是低效的。有没有人知道更好的方法来使文件集添加文件,然后执行依赖而不是跳过它?
这样做的一种方法是使用sleep https://ant.apache.org/manual/Tasks/sleep.html。我不能用waitfor。
示例:
<fileset id="scr" dir="dir1/*" casesensitive="yes"
includes="bin/*, lib/* excludes="dir1/*.py />
<foreach param="file" in="scr">
<echo message="${file}"/>
</foreach>
</fileset>
上面的示例将完全跳过打印文件名,因为Ant仍在向fileset添加文件。
答案 0 :(得分:2)
foreach任务不是ANT的一部分,它是第三方扩展,我并不完全确定它的设计是按照你的思维方式工作。
我可以建议您按如下方式打印文件集内容:
<apply executable="echo">
<fileset dir="dir1/*" casesensitive="yes" includes="bin/*, lib/* excludes="dir1/*.py />
</apply>
如果您想使用文件集引用,可以这样:
<fileset id="scr" dir="dir1/*" casesensitive="yes" includes="bin/*, lib/* excludes="dir1/*.py />
<apply executable="echo">
<fileset refid="scr"/>
</apply>
注意: