You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by st...@apache.org on 2014/01/06 12:25:30 UTC

[17/21] git commit: Just in case of file lock extra try and delete

Just in case of file lock extra try and delete


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/9a9cf059
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/9a9cf059
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/9a9cf059

Branch: refs/heads/master
Commit: 9a9cf059fd809dc2f9d260e772764b6948a137b8
Parents: 6c6b34b
Author: Stephen Connolly <st...@gmail.com>
Authored: Mon Jan 6 11:08:14 2014 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Mon Jan 6 11:08:14 2014 +0000

----------------------------------------------------------------------
 .../metadata/AbstractRepositoryMetadata.java         | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/9a9cf059/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
index cddb8ba..58e3c5a 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
@@ -91,7 +91,20 @@ public abstract class AbstractRepositoryMetadata
 
         if ( metadataFile.length() == 0 )
         {
-            metadataFile.delete();
+            if ( !metadataFile.delete() )
+            {
+                // sleep for 10ms just in case this is windows holding a file lock
+                try
+                {
+                    Thread.sleep( 10 );
+                }
+                catch ( InterruptedException e )
+                {
+                    // ignore
+                }
+                metadataFile.delete(); // if this fails, forget about it, we'll try to overwrite it anyway so no need
+                                       // to delete on exit
+            }
         }
         else if ( metadataFile.exists() )
         {