2010-10-19 7 views
15

J'ai besoin d'une cible Apache Ant qui supprime tous les fichiers d'un répertoire mais ne touche pas les sous-répertoires.Supprimer tous les fichiers d'un répertoire sans sous-répertoires avec Apache Ant

Dans mon approche actuelle, je dois nommer explicitement les sous-répertoires que je veux ignorer (atm juste "src /").

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

Mais je ne l'aime pas. De cette façon, je devrais modifier la cible chaque fois que quelque chose change dans la structure du sous-répertoire.

Des idées?

Répondre

39

Cela devrait fonctionner:

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

Le * générique ne doit supprimer les fichiers au niveau supérieur, pas les répertoires ou sous-répertoires. Si vous voulez que ce soit récursif, vous devez utiliser **/* à la place.

+4

Fonctionne parfaitement. Merci beaucoup! :) – tyrondis