bodewig     2003/05/19 07:43:17

  Modified:    src/main/org/apache/tools/ant/taskdefs Copy.java Move.java
  Log:
  Don't remove basedirectories of <fileset>s that just happen to be
  matched completely.
  PR: 18886
  
  Revision  Changes    Path
  1.56      +3 -2      ant/src/main/org/apache/tools/ant/taskdefs/Copy.java
  
  Index: Copy.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Copy.java,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- Copy.java 28 Mar 2003 08:06:53 -0000      1.55
  +++ Copy.java 19 May 2003 14:43:17 -0000      1.56
  @@ -391,7 +391,8 @@
   
                   String[] srcFiles = ds.getIncludedFiles();
                   String[] srcDirs = ds.getIncludedDirectories();
  -                boolean isEverythingIncluded = ds.isEverythingIncluded();
  +                boolean isEverythingIncluded = ds.isEverythingIncluded()
  +                    && (!fs.hasSelectors() && !fs.hasPatterns());
                   if (isEverythingIncluded
                       && !flatten && mapperElement == null) {
                       completeDirMap.put(fromDir, destDir);
  
  
  
  1.34      +1 -66     ant/src/main/org/apache/tools/ant/taskdefs/Move.java
  
  Index: Move.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Move.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- Move.java 27 Mar 2003 16:32:18 -0000      1.33
  +++ Move.java 19 May 2003 14:43:17 -0000      1.34
  @@ -213,71 +213,6 @@
                       + destDir.getAbsolutePath());
               }
           }
  -
  -        if (filesets.size() > 0) {
  -            Enumeration e = filesets.elements();
  -            while (e.hasMoreElements()) {
  -                FileSet fs = (FileSet) e.nextElement();
  -                File dir = fs.getDir(getProject());
  -
  -                if (okToDelete(dir)) {
  -                    deleteDir(dir);
  -                }
  -            }
  -        }
  -    }
  -
  -    /**
  -     * Its only ok to delete a directory tree if there are
  -     * no files in it.
  -     * @return true if a deletion can go ahead
  -     */
  -    protected boolean okToDelete(File d) {
  -        String[] list = d.list();
  -        if (list == null) {
  -            return false;
  -        }     // maybe io error?
  -
  -        for (int i = 0; i < list.length; i++) {
  -            String s = list[i];
  -            File f = new File(d, s);
  -            if (f.isDirectory()) {
  -                if (!okToDelete(f)) {
  -                    return false;
  -                }
  -            } else {
  -                return false;   // found a file
  -            }
  -        }
  -
  -        return true;
  -    }
  -
  -    /**
  -     * Go and delete the directory tree.
  -     */
  -    protected void deleteDir(File d) {
  -        String[] list = d.list();
  -        if (list == null) {
  -            return;
  -        }      // on an io error list() can return null
  -
  -        for (int i = 0; i < list.length; i++) {
  -            String s = list[i];
  -            File f = new File(d, s);
  -            if (f.isDirectory()) {
  -                deleteDir(f);
  -            } else {
  -                throw new BuildException("UNEXPECTED ERROR - The file "
  -                                         + f.getAbsolutePath()
  -                                         + " should not exist!");
  -            }
  -        }
  -        log("Deleting directory " + d.getAbsolutePath(), verbosity);
  -        if (!d.delete()) {
  -            throw new BuildException("Unable to delete directory "
  -                                     + d.getAbsolutePath());
  -        }
       }
   
       /**
  
  
  

Reply via email to