[MCLEAN-45] Clean plugin should support a silent retry in case the first attemp fails


git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@983256 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/plugin/clean/Cleaner.java b/src/main/java/org/apache/maven/plugin/clean/Cleaner.java
index 7817dc8..ed333e6 100644
--- a/src/main/java/org/apache/maven/plugin/clean/Cleaner.java
+++ b/src/main/java/org/apache/maven/plugin/clean/Cleaner.java
@@ -212,15 +212,24 @@
                 // try to release any locks held by non-closed files
                 System.gc();
             }
-            try
+
+            boolean deleted = false;
+
+            int[] delays = { 125, 250, 750 };
+            for ( int i = 0; !deleted && i < delays.length; i++ )
             {
-                Thread.sleep( 10 );
+                try
+                {
+                    Thread.sleep( delays[i] );
+                }
+                catch ( InterruptedException e )
+                {
+                    // ignore
+                }
+                deleted = file.delete() || !file.exists();
             }
-            catch ( InterruptedException e )
-            {
-                // ignore
-            }
-            if ( !file.delete() )
+
+            if ( !deleted )
             {
                 if ( failOnError )
                 {