我使用指定的属性来创建文件集:
<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/