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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]