我使用指定的属性来创建文件集:
<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 autosort,我需要我定义的属性的原始排序顺序来有序地执行这些情况。
任何人都知道如何处理这个问题?
答案 0 :(得分:3)
Ant文件集不保留顺序 - 正如您所见。相关的filelist
类型确实遵循排序,因此您可以使用:
<filelist id="casesToBeRunning" dir="${src}" files="${cases}" />
订单是否得到遵守将取决于您计划用于处理文件的任务。接受文件集的大多数核心Ant任务都会接受文件列表,因此您应该可以使用它们。对于非核心任务,它可能不起作用。
(请注意,在Ant 1.8.0之前,某些任务在遍历文件列表时不遵守该顺序 - 例如copy
。