[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 )
{