You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/05/05 18:52:43 UTC
svn commit: r400110 - in
/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly:
repository/DefaultRepositoryAssembler.java utils/DigestUtils.java
Author: brett
Date: Fri May 5 09:52:41 2006
New Revision: 400110
URL: http://svn.apache.org/viewcvs?rev=400110&view=rev
Log:
write checksums
Added:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/DigestUtils.java
- copied, changed from r395775, maven/repository-manager/trunk/maven-repository-utils/src/main/java/org/apache/maven/repository/digest/DefaultDigester.java
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java?rev=400110&r1=400109&r2=400110&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/repository/DefaultRepositoryAssembler.java Fri May 5 09:52:41 2006
@@ -34,6 +34,7 @@
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
+import org.apache.maven.plugin.assembly.utils.DigestUtils;
import org.apache.maven.plugins.assembly.model.GroupVersionAlignment;
import org.apache.maven.plugins.assembly.model.Repository;
import org.apache.maven.project.DefaultMavenProjectBuilder;
@@ -48,6 +49,7 @@
import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Field;
+import java.security.NoSuchAlgorithmException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -88,6 +90,8 @@
private Set groupVersionAlignmentExcludes;
+ private DigestUtils digester = new DigestUtils();
+
public void assemble( File repositoryDirectory, Repository repository, MavenProject project,
ArtifactRepository localRepository )
throws RepositoryAssemblyException
@@ -158,6 +162,8 @@
File targetFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( a ) );
FileUtils.copyFile( a.getFile(), targetFile );
+ writeChecksums( targetFile );
+
if ( !"pom".equals( a.getType() ) )
{
// The correct metadata does not get pulled down unless this is used. Not
@@ -169,7 +175,10 @@
File sourceFile =
new File( localRepository.getBasedir(), localRepository.pathOf( pomArtifact ) );
targetFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( pomArtifact ) );
+
FileUtils.copyFile( sourceFile, targetFile );
+
+ writeChecksums( targetFile );
}
}
}
@@ -241,12 +250,23 @@
IOUtil.close( writer );
}
- File metadataFileRemote = new File( targetRepository.getBasedir(),
- targetRepository.pathOfRemoteRepositoryMetadata( metadata ) );
-
try
{
+ writeChecksums( metadataFile );
+
+ File metadataFileRemote = new File( targetRepository.getBasedir(),
+ targetRepository.pathOfRemoteRepositoryMetadata(
+ metadata ) );
+
FileUtils.copyFile( metadataFile, metadataFileRemote );
+
+ FileUtils.copyFile( new File( metadataFile.getParentFile(), metadataFile.getName() + ".sha1" ),
+ new File( metadataFileRemote.getParentFile(),
+ metadataFileRemote.getName() + ".sha1" ) );
+
+ FileUtils.copyFile( new File( metadataFile.getParentFile(), metadataFile.getName() + ".md5" ),
+ new File( metadataFileRemote.getParentFile(),
+ metadataFileRemote.getName() + ".md5" ) );
}
catch ( IOException e )
{
@@ -254,6 +274,23 @@
}
}
}
+ }
+ }
+
+ private void writeChecksums( File file )
+ throws IOException, RepositoryAssemblyException
+ {
+ try
+ {
+ String md5 = digester.createChecksum( file, "MD5" );
+ String sha1 = digester.createChecksum( file, "SHA-1" );
+
+ FileUtils.fileWrite( new File( file.getParentFile(), file.getName() + ".md5" ).getAbsolutePath(), md5 );
+ FileUtils.fileWrite( new File( file.getParentFile(), file.getName() + ".sha1" ).getAbsolutePath(), sha1 );
+ }
+ catch ( NoSuchAlgorithmException e )
+ {
+ throw new RepositoryAssemblyException( "Unable to get write checksums: " + e.getMessage(), e );
}
}
Copied: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/DigestUtils.java (from r395775, maven/repository-manager/trunk/maven-repository-utils/src/main/java/org/apache/maven/repository/digest/DefaultDigester.java)
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/DigestUtils.java?p2=maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/DigestUtils.java&p1=maven/repository-manager/trunk/maven-repository-utils/src/main/java/org/apache/maven/repository/digest/DefaultDigester.java&r1=395775&r2=400110&rev=400110&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-utils/src/main/java/org/apache/maven/repository/digest/DefaultDigester.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/DigestUtils.java Fri May 5 09:52:41 2006
@@ -1,18 +1,7 @@
-package org.apache.maven.repository.digest;
-
-import org.codehaus.plexus.util.IOUtil;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+package org.apache.maven.plugin.assembly.utils;
/*
- * Copyright 2005-2006 The Apache Software Foundation.
+ * Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,14 +16,23 @@
* limitations under the License.
*/
+import org.codehaus.plexus.util.IOUtil;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
/**
- * Create a digest for a file.
+ * Create a digest for a file. Stolen from repository-utils - once released, use that instead.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @plexus.component role="org.apache.maven.repository.digest.Digester"
*/
-public class DefaultDigester
- implements Digester
+public class DigestUtils
{
private static final int CHECKSUM_BUFFER_SIZE = 16384;