蚂蚁更好的方法,<sleep>而不是跳过它



我正在向一个包含各种包含和排除文件的文件集添加20多个文件。这需要一些时间,因此Ant会跳过Ant文件集上的依赖任务。它根本不会运行依赖操作。这是低效的。有人知道一种更好的方法,可以让文件集添加文件,然后执行从属操作,而不是跳过它吗?

一种方法是利用睡眠https://ant.apache.org/manual/Tasks/sleep.html.我不能等待。

示例:

<fileset id="scr" dir="dir1/*" casesensitive="yes"
           includes="bin/*, lib/*  excludes="dir1/*.py />
    <foreach param="file" in="scr">
             <echo message="${file}"/>                      
    </foreach>
</fileset>

上面的示例将完全跳过打印文件名,因为Ant仍在向文件集添加文件。

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>

注:

  • Ant不是一种编程语言,所以循环并不有趣。如果你需要复杂的逻辑,我强烈建议你嵌入一种脚本语言。我不推荐蚂蚁悔过

相关内容

  • 没有找到相关文章

最新更新