You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/04/21 12:41:00 UTC

svn commit: r164029 - /maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java /maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java

Author: brett
Date: Thu Apr 21 03:40:58 2005
New Revision: 164029

URL: http://svn.apache.org/viewcvs?rev=164029&view=rev
Log:
upload checksums

Modified:
    maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java

Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=164029&r1=164028&r2=164029&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Thu Apr 21 03:40:58 2005
@@ -48,6 +48,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.ArrayList;
 
 public class DefaultWagonManager
     extends AbstractLogEnabled
@@ -125,11 +126,17 @@
             wagon.addTransferListener( downloadMonitor );
         }
 
-        // TODO: configure these
+        Map checksums = new HashMap();
+
+        // TODO: configure these on the repository
         try
         {
-            wagon.addTransferListener( new ChecksumObserver( "MD5" ) );
-            wagon.addTransferListener( new ChecksumObserver( "SHA-1" ) );
+            ChecksumObserver checksumObserver = new ChecksumObserver( "MD5" );
+            wagon.addTransferListener( checksumObserver );
+            checksums.put( "md5", checksumObserver );
+            checksumObserver = new ChecksumObserver( "SHA-1" );
+            wagon.addTransferListener( checksumObserver );
+            checksums.put( "sha1", checksumObserver );
         }
         catch ( NoSuchAlgorithmException e )
         {
@@ -141,6 +148,22 @@
             wagon.connect( repository, getProxy( repository.getProtocol() ) );
 
             wagon.put( source, remotePath );
+
+            wagon.removeTransferListener( downloadMonitor );
+
+            // We do this in here so we can checksum the artifact metadata too, otherwise it could be metadata itself
+            for ( Iterator i = checksums.keySet().iterator(); i.hasNext(); )
+            {
+                String extension = (String) i.next();
+                ChecksumObserver observer = (ChecksumObserver) checksums.get( extension );
+
+                // TODO: shouldn't need a file intermediatary - improve wagon to take a stream
+                File temp = File.createTempFile( "maven-artifact", null );
+                temp.deleteOnExit();
+                FileUtils.fileWrite( temp.getAbsolutePath(), observer.getActualChecksum() );
+
+                wagon.put( temp, remotePath + "." + extension );
+            }
         }
         catch ( ConnectionException e )
         {
@@ -157,6 +180,10 @@
         catch ( ResourceDoesNotExistException e )
         {
             throw new TransferFailedException( "Resource to deploy not found: ", e );
+        }
+        catch ( IOException e )
+        {
+            throw new TransferFailedException( "Error creating temporary file for deployment: ", e );
         }
         finally
         {

Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java?rev=164029&r1=164028&r2=164029&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java Thu Apr 21 03:40:58 2005
@@ -144,6 +144,7 @@
 
         try
         {
+            // TODO: shouldn't need a file intermediatary - improve wagon to take a stream
             File destination = File.createTempFile( "maven-artifact", null );
             destination.deleteOnExit();
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org