ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Held <andreas.h...@bbp.ch>
Subject Re: Deleting directories using restrict
Date Thu, 13 Sep 2007 11:44:29 GMT
Since nobody took this up, I will add some more information.
Looking into the Ant sources (V1.7.0, Delete.java) shows the following 
snippet:

if (resourcesToDelete.isFilesystemOnly()) {
   for (Iterator iter = resourcesToDelete.iterator(); iter.hasNext();) {
       FileResource r = (FileResource) iter.next();
       // nonexistent resources could only occur if we already
       // deleted something from a fileset:
       if (!r.isExists()) {
           continue;
       }
       if (!(r.isDirectory()) || r.getFile().list().length == 0) {
           log("Deleting " + r, verbosity);
           if (!delete(r.getFile()) && failonerror) {
               handle("Unable to delete "
                   + (r.isDirectory() ? "directory " : "file ") + r);
           }
       }
   }
} else {

This means, in the case of resource collections, directories are not 
treated the same as in the case of setting "dir" directly. Is there a 
deep reason behind this I don't understand?

Best regards

Andreas

> Hi,
> 
> Using Ant 1.7.0, I am trying to delete some directories, based on a 
> comparison of their names:
> 
>         <delete verbose="true">
>           <restrict>
>               <dirset dir="${dist_dir}" includes="*"  />
>               <rsel:compare when="le" against="all">
>                 <control>
>                   <resource name="${delete-id}" />
>                 </control>
>                 <rcmp:name />
>               </rsel:compare>
>               <rsel:type type="dir" />
>           </restrict>
>       </delete>
> 
> This works well if and only if the directories in question are empty. If 
> they are not empty, the delete does not work. What am I doing wrong 
> here? Incidentally, the directory names are in the form of timestamps, 
> comparing using "le" should delete all that are older than a specified 
> timestamp. As there are other directories I have to keep, simply 
> deleting based on time does not work.
> 
> Any help is greatly appreciated.
> 
> Best regards,
> 
> Andreas
> 
> 



**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
**********************************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message