Удалить все файлы в каталоге без подкаталогов с Apache Ant

Мне нужен объект Apache Ant, который удаляет все файлы в каталоге, но не касается подкаталогов.

В моем текущем подходе я должен явно указать подкаталоги, которые я хочу пропустить (atm just "src/" ).

<delete>
   <fileset dir="${dist.dir}" excludes="src/" />
</delete>

Но мне это не нравится. Таким образом, мне пришлось бы изменять цель каждый раз, когда что-то меняется в структуре подкаталога.

Любые идеи?

Ответы

Ответ 1

Это должно работать:

<delete>
   <fileset dir="${dist.dir}">
      <include name="*"/>
   </fileset>
</delete>

Подстановочный шаблон * должен удалять только файлы на верхнем уровне, а не в каталогах или подкаталогах. Если вы хотите, чтобы он был рекурсивным, вам нужно использовать вместо него **/*.