Распакуйте файлы в каталог с Ant - PullRequest
3 голосов
/ 15 февраля 2011

Это должно быть просто, но я не могу найти способ сделать это.Мне нужно извлечь любые ZIP-файлы в подкаталогах каталога в тот же подкаталог с помощью Ant.Файлы передаются в задачу ant в виде набора файлов с подстановочными знаками, например * / .zip.

Например, сценарию ant может потребоваться обработать файл a / b / c / file.zip, который содержит файл file.xml, поэтому я хотел бы использовать задачу unzip для извлечения файла в файл / b / c / file.xml, но заранее неизвестно, какой будет структура каталогов, т.е. это может быть a / b /c / file.zip или t / u / v / w / x / y / z / file.zip.

Для распаковки требуется каталог "dest", но я не знаю, что такое полный каталог destбудет, пока скрипт не запустится.Я также рассмотрел маппер, но, насколько я вижу, это только для извлеченных файлов, я не могу ссылаться на местоположение zip-файла как часть сопоставления.

Любая помощь будет принята с благодарностью.

Спасибо, Стеф

1 Ответ

2 голосов
/ 15 февраля 2011

Это можно сделать с помощью задачи «for» из пакета ant-contrib (через набор файлов) и стандартной задачи «dirname» в теле цикла.Вы также можете использовать задачу ant-contrib "var", чтобы сбросить свойство, установленное параметром "dirname", иначе следующая итерация цикла не получит новое значение.

http://ant -contribsourceforge.net/

...