Создать набор свойств из списка через запятую в свойстве без потери порядка - PullRequest
2 голосов
/ 21 сентября 2011

Я использую указанное свойство для создания набора файлов:

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

Когда созданы кейсы ToBeRunning, я перечисляю их содержание:

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

это показывает A.java, B.java, C.java, чего я не ожидал.

Мне не нужна автосортировка Ant, мне нужен исходный порядок сортировки свойства, которое я определил, для упорядоченного выполнения дел.

Кто-нибудь знает, как справиться с этим?

1 Ответ

3 голосов
/ 21 сентября 2011

Наборы файлов Ant не сохраняют порядок - как вы видели.Связанный тип filelist относится к порядку, поэтому вы можете использовать:

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

Соблюдение порядка будет зависеть от того, какую задачу вы планируете использовать для обработки файлов.Большинство основных задач Ant, которые принимают набор файлов, вместо этого принимают список файлов, так что вы должны быть в порядке с ними.Для неосновных задач это может не работать.

(обратите внимание, что до Ant 1.8.0 некоторые задачи не учитывали порядок при обходе списка файлов - среди них, например, copy).

...