Как загрузить список файлов в качестве ресурсов в задаче 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>
обрабатывает каждую строку в файле как отдельный ресурс, поэтому разделители строк, а не запятые или пробелы разделяют элементы.