Разархивируйте файлы в каталог, в котором они находятся с Ant.

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

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

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

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

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


person Stefg    schedule 15.02.2011    source источник


Ответы (1)


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

http://ant-contrib.sourceforge.net/

person Konstantin Komissarchik    schedule 15.02.2011