2

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

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

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

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

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

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

有谁知道如何处理这个?

4

1 回答 1

3

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

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

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

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

于 2011-09-21T07:35:35.210 回答