Author: hibou
Date: Sun Jul 24 10:35:58 2011
New Revision: 1150331

URL: http://svn.apache.org/viewvc?rev=1150331&view=rev
Log:
BR 41986
 - add a quiet attribute to the copy task to not print warning messages
Thanks to Timoteo Ohara

Modified:
    ant/core/trunk/CONTRIBUTORS
    ant/core/trunk/WHATSNEW
    ant/core/trunk/contributors.xml
    ant/core/trunk/manual/Tasks/copy.html
    ant/core/trunk/manual/Tasks/move.html
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Copy.java
    ant/core/trunk/src/tests/antunit/taskdefs/copy-test.xml

Modified: ant/core/trunk/CONTRIBUTORS
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/CONTRIBUTORS (original)
+++ ant/core/trunk/CONTRIBUTORS Sun Jul 24 10:35:58 2011
@@ -341,6 +341,7 @@ Thomas Quas
 Tim Drury
 Tim Fennell
 Tim Stephenson
+Timoteo Ohara
 Timothy Gerard Endres
 Tom Ball
 Tom Brus

Modified: ant/core/trunk/WHATSNEW
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Sun Jul 24 10:35:58 2011
@@ -59,6 +59,10 @@ Fixed bugs:
    OutOfMemoryException while unzipping large archives.
    Bugzilla Report 42969.
 
+ * quiet attribute added to the copy and move tasks, to be used together
+   with failonerror=true, so warnings won't get logged 
+   Bugzilla Report 48789.
+
 Other changes:
 --------------
 

Modified: ant/core/trunk/contributors.xml
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Sun Jul 24 10:35:58 2011
@@ -1376,6 +1376,10 @@
     <last>Fennell</last>
   </name>
   <name>
+    <first>Timoteo</first>
+    <last>Ohara</last>
+  </name>
+  <name>
     <first>Timothy</first>
     <middle>Gerard</middle>
     <last>Endres</last>

Modified: ant/core/trunk/manual/Tasks/copy.html
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/manual/Tasks/copy.html?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/manual/Tasks/copy.html (original)
+++ ant/core/trunk/manual/Tasks/copy.html Sun Jul 24 10:35:58 2011
@@ -132,6 +132,15 @@ operation as <a href="../Types/filterset
      <td valign="top" align="center">No; defaults to true.</td>
   </tr>
   <tr>
+    <td valign="top">quiet</td>
+      <td valign="top">If true and failonerror is false, then do not log a
+       warning message when the file to copy does not exist or one of the 
nested
+       filesets points to a directory that doesn't exist or an error occurs
+       while copying. <em>since Ant 1.8.3</em>.
+     </td>
+     <td valign="top" align="center">No; defaults to false.</td>
+  </tr>
+  <tr>
     <td valign="top">verbose</td>
      <td valign="top">Log the files that are being copied.</td>
      <td valign="top" align="center">No; defaults to false.</td>

Modified: ant/core/trunk/manual/Tasks/move.html
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/manual/Tasks/move.html?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/manual/Tasks/move.html (original)
+++ ant/core/trunk/manual/Tasks/move.html Sun Jul 24 10:35:58 2011
@@ -122,6 +122,15 @@ there is a directory by the same name in
      <td valign="top" align="center">No; defaults to true.</td>
   </tr>
   <tr>
+    <td valign="top">quiet</td>
+      <td valign="top">If true and failonerror is false, then do not log a
+       warning message when the file to copy does not exist or one of the 
nested
+       filesets points to a directory that doesn't exist or an error occurs
+       while copying. <em>since Ant 1.8.3</em>.
+     </td>
+     <td valign="top" align="center">No; defaults to false.</td>
+  </tr>
+  <tr>
     <td valign="top">verbose</td>
      <td valign="top">Log the files that are being moved.</td>
      <td valign="top" align="center">No; defaults to false.</td>

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Copy.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Copy.java?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Copy.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Copy.java Sun Jul 24 
10:35:58 2011
@@ -102,6 +102,7 @@ public class Copy extends Task {
     private String outputEncoding = null;
     private long granularity = 0;
     private boolean force = false;
+    private boolean quiet = false;
 
     // used to store the single non-file resource to copy when the
     // tofile attribute has been used
@@ -284,6 +285,18 @@ public class Copy extends Task {
         this.includeEmpty = includeEmpty;
     }
 
+       /**
+        * Set quiet mode. Used to hide messages when a file or directory to be
+        * copied does not exist.
+        * 
+        * @param quiet
+        *            whether or not to display error messages when a file or
+        *            directory does not exist. Default is false.
+        */
+       public void setQuiet(boolean quiet) {
+               this.quiet = quiet;
+       }
+
     /**
      * Set method of handling mappers that return multiple
      * mappings for a given source path.
@@ -480,7 +493,9 @@ public class Copy extends Task {
                                                        
.DOES_NOT_EXIST_POSTFIX)) {
                             throw e;
                         } else {
-                            log("Warning: " + getMessage(e), Project.MSG_ERR);
+                            if (!quiet) {
+                                log("Warning: " + getMessage(e), 
Project.MSG_ERR);
+                            }
                             continue;
                         }
                     }
@@ -509,7 +524,9 @@ public class Copy extends Task {
                             String message = "Warning: Could not find resource 
"
                                 + r.toLongString() + " to copy.";
                             if (!failonerror) {
-                                log(message, Project.MSG_ERR);
+                                if (!quiet) {
+                                    log(message, Project.MSG_ERR);
+                                }
                             } else {
                                 throw new BuildException(message);
                             }
@@ -550,7 +567,9 @@ public class Copy extends Task {
                 doFileOperations();
             } catch (BuildException e) {
                 if (!failonerror) {
-                    log("Warning: " + getMessage(e), Project.MSG_ERR);
+                    if (!quiet) {
+                        log("Warning: " + getMessage(e), Project.MSG_ERR);
+                    }
                 } else {
                     throw e;
                 }
@@ -569,7 +588,9 @@ public class Copy extends Task {
                     doResourceOperations(map);
                 } catch (BuildException e) {
                     if (!failonerror) {
-                        log("Warning: " + getMessage(e), Project.MSG_ERR);
+                        if (!quiet) {
+                            log("Warning: " + getMessage(e), Project.MSG_ERR);
+                        }
                     } else {
                         throw e;
                     }
@@ -615,7 +636,9 @@ public class Copy extends Task {
                 String message = "Warning: Could not find file "
                     + file.getAbsolutePath() + " to copy.";
                 if (!failonerror) {
-                    log(message, Project.MSG_ERR);
+                    if (!quiet) {
+                      log(message, Project.MSG_ERR);
+                    }
                 } else {
                     throw new BuildException(message);
                 }

Modified: ant/core/trunk/src/tests/antunit/taskdefs/copy-test.xml
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/copy-test.xml?rev=1150331&r1=1150330&r2=1150331&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/copy-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/copy-test.xml Sun Jul 24 10:35:58 
2011
@@ -241,6 +241,13 @@ public class NullByteStreamResource exte
           failonerror="false"/>
   </target>
 
+  <target name="testQuiet">
+    <mkdir dir="${output}"/>
+    <mkdir dir="${input}"/>
+    <copy file="${input}/not-there.txt" todir="${output}" failonerror="false" 
quiet="true" />
+       <au:assertLogDoesntContain text="Could not find file" />
+  </target>
+
   <target name="testMissingFilesetRoot">
     <mkdir dir="${output}"/>
     <au:expectfailure expectedMessage="does not exist">


Reply via email to