ant - 从属性中的逗号分隔列表创建文件集而不丢失顺序

标签 ant fileset

我使用指定的属性来创建文件集:

<property name="cases" value="B.java,A.java,C.java" />
<fileset id="casesToBeRunning" dir="${src}" includes="${cases}" />

当casesToBeRunning创建时,我列出了它的内容:

<echo>Cases to be running: ${toString:casesToBeRunning}</echo>

它显示了我不希望看到的 A.java、B.java、C.java。

我不需要 Ant 自动排序,我需要我定义的属性的原始排序顺序来有序执行案例。

有人知道如何处理吗?

最佳答案

Ant 文件集不保留顺序 - 正如您所看到的。相关filelist类型确实尊重顺序,因此您可以使用:

<filelist id="casesToBeRunning" dir="${src}" files="${cases}" />

是否遵守该顺序将取决于您计划使用什么任务来处理文件。大多数接受文件集的核心 Ant 任务将接受文件列表,因此您应该可以接受它们。对于非核心任务,它可能不起作用。

(请注意,在 Ant 1.8.0 之前,某些任务在遍历文件列表时不遵守顺序 - 例如,其中 copy)。

关于ant - 从属性中的逗号分隔列表创建文件集而不丢失顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495748/

相关文章:

ant - 如何将文件集打印到文件中,每行一个文件名?

linux - Zookeeper zkServer.sh 无法持久启动

Emacs 文件集 : how to run other (elisp, 不是 shell) 命令?

nant - nAnt删除7天以上的文件

ant - 如何将 Ant 中的文件集拆分为多个文件集

eclipse - 在 Eclipse 中设置 ANT_OPTS

java - Ant ,从一个属性值引用到另一个

ant - 如何将文件集中的所有文件添加为 exec 任务的参数?

maven - sahi开源是否支持ANT/MAVEN/GRADLE之类的构建工具?

ant - 为什么 ANT 在创建文件集后会更新文件集的内容,我可以覆盖它吗?