You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2010/01/22 23:38:34 UTC

svn commit: r902298 - /maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java

Author: olamy
Date: Fri Jan 22 22:38:34 2010
New Revision: 902298

URL: http://svn.apache.org/viewvc?rev=902298&view=rev
Log:
[MNG-4543] Cleanup tmp files created by DefaultWagonManager
Issue id: MNG-4543

Modified:
    maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java

Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java?rev=902298&r1=902297&r2=902298&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java Fri Jan 22 22:38:34 2010
@@ -22,6 +22,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -485,6 +486,8 @@
         {
             checksums.put( CHECKSUM_IDS[i], addChecksumObserver( wagon, CHECKSUM_ALGORITHMS[i] ) );
         }
+        
+        List<File> temporaryFiles = new ArrayList<File>();
 
         try
         {
@@ -517,6 +520,7 @@
                 temp.deleteOnExit();
                 FileUtils.fileWrite( temp.getAbsolutePath(), "UTF-8", sums.get( extension ) );
 
+                temporaryFiles.add( temp );
                 wagon.put( temp, remotePath + "." + extension );
             }
         }
@@ -542,6 +546,9 @@
         }
         finally
         {
+            // MNG-4543
+            cleanupTemporaryFiles( temporaryFiles );
+            
             // Remove every checksum listener
             for ( String aCHECKSUM_IDS : CHECKSUM_IDS )
             {
@@ -558,6 +565,24 @@
         }
     }
 
+    private void cleanupTemporaryFiles(List<File> files)
+    {
+        for ( File file : files )
+        {
+            // really don't care if it failed here only log warning
+            try
+            {
+                file.delete();
+            }
+            catch ( Exception e )
+            {
+                logger.warn( "skip failed to delete temporary file : " + file.getAbsolutePath() + " , message "
+                    + e.getMessage() );
+            }
+        }
+       
+    }
+    
     private ChecksumObserver addChecksumObserver( Wagon wagon, String algorithm )
         throws TransferFailedException
     {