Как загрузить список файлов в качестве ресурсов в задаче Ant?

Я просмотрел всю сеть о том, как я могу загрузить список файлов, которые содержат пробелы и еще не существуют с помощью задачи Ant.

У меня есть файл, который содержит один путь к файлу в строке, например так:

dir1/dir2/dir with spaces/file1.js
dir1/dir2/dir with spaces/dir3/file2.js
dir1/file1.js

Поскольку пути имеют пробелы, я не могу использовать:

<filelist files="..." />

Файлы также еще не существуют, так что, похоже, я не могу использовать

<fileset>
    <includesfile name="..." />
</fileset>

Любые идеи будут очень оценены.

1 ответ

Решение

Вы можете использовать список ресурсов для этого. Например, если ваш список файлов находится в файле с именем 'files.txt':

<resourcelist id="files">
    <file file="files.txt"/>
</resourcelist>

<touch mkdirs="true">
    <resources refid="files" />
</touch>

Для меня это дает:

[touch] Creating .../filelist/dir1/dir2/dir with spaces/file1.js
[touch] Creating .../filelist/dir1/dir2/dir with spaces/dir3/file2.js
[touch] Creating .../filelist/dir1/file1.js

Это работает потому, что <resourcelist> обрабатывает каждую строку в файле как отдельный ресурс, поэтому разделители строк, а не запятые или пробелы разделяют элементы.

Другие вопросы по тегам