Рекурсивное удаление всех файлов одного типа с помощью Ant - PullRequest
5 голосов
/ 16 марта 2011

Как в скрипте сборки ant можно удалить все *.java файлы в одном каталоге и его подкаталоге?

Ответы [ 3 ]

16 голосов
/ 16 марта 2011

Немного неясно, насколько глубоко в дереве каталогов вы хотите удалить файлы .java.Я предоставлю способы сделать оба.

Полное рекурсивное удаление

Рекурсивно удаляет все .java файлы в любом месте в указанном целевом каталоге.

Только в пределах целевого каталога и его непосредственных дочерних каталогов

Удаляет .java файлы в указанном целевом каталоге и во всех каталогах, которые являются непосредственными дочерними элементами целевого каталога, ноне дальше.

<delete>
    <fileset dir="${basedir}/path/to/target/directory" includes="*.java,*/*.java"/>
</delete>

Для получения дополнительных опций ознакомьтесь с документацией для задачи удаления.

Будьте осторожны - Если выпоместите неправильный каталог для вашего целевого каталога, вы можете удалить вещи, которые вы не хотите.Подумайте о том, чтобы сделать пути к вашей целевой директории относительно файла сборки или ${basedir}.

2 голосов
/ 16 марта 2011
<delete>
<fileset dir="." includes="**/*.java"/>
</delete>

Вышеуказанная задача delete удаляет все файлы с расширением .java из текущего каталога и любые подкаталоги.

0 голосов
/ 16 марта 2011
<delete>    
    <filename name="**/*.java"/>
</delete>

http://ant.apache.org/manual/Types/fileset.html

...