Author: oching
Date: Thu Feb 25 09:32:12 2010
New Revision: 916197
URL: http://svn.apache.org/viewvc?rev=916197&view=rev
Log:
[MRM-1312] mda5 and sha are not generated for snapshot jars
submitted by Maria Catherine Tan
o use the actual file, which has a timestamp + build number version, when
creating a repository task for a snapshot artifact
Modified:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
Modified:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java?rev=916197&r1=916196&r2=916197&view=diff
==============================================================================
---
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
(original)
+++
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/UploadAction.java
Thu Feb 25 09:32:12 2010
@@ -360,7 +360,7 @@
else
{
copyFile( artifactFile, targetPath, filename, fixChecksums
);
- queueRepositoryTask( repository.getId(),
repository.toFile( artifactReference ) );
+ queueRepositoryTask( repository.getId(), targetFile );
}
}
catch ( IOException ie )
Modified:
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java?rev=916197&r1=916196&r2=916197&view=diff
==============================================================================
---
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
(original)
+++
archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/UploadActionTest.java
Thu Feb 25 09:32:12 2010
@@ -411,13 +411,88 @@
auditLogsDaoControl.verify();
String repoLocation = config.findManagedRepositoryById( REPOSITORY_ID
).getLocation();
- assertEquals( 6, new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" ).list().length );
+ String[] artifactsList = new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/" ).list();
+
+ assertEquals( 6, artifactsList.length );
assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/" + MetadataTools.MAVEN_METADATA
).exists() );
assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/" + MetadataTools.MAVEN_METADATA +
".sha1" ).exists() );
assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/" + MetadataTools.MAVEN_METADATA +
".md5" ).exists() );
+
+ int startIndex = "artifact-upload-1.0-".length();
+ int endIndex = -1;
+
+ if ( artifactsList[0].contains( "jar" ) )
+ {
+ endIndex = artifactsList[0].indexOf( ".jar" );
+ }
+ else
+ {
+ endIndex = artifactsList[0].indexOf( ".pom" );
+ }
+
+ String timestamp = artifactsList[0].substring( startIndex, endIndex );
+
+ assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".jar" ).exists() );
+ assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".jar.md5" ).exists() );
+ assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".jar.sha1" ).exists() );
+ assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".pom" ).exists() );
+ assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".pom.md5" ).exists() );
+ assertTrue( new File( repoLocation,
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".pom.sha1" ).exists() );
+
+ // verify checksums of jar file
+ ChecksummedFile checksum =
+ new ChecksummedFile( new File( repoLocation,
+
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".jar" ) );
+ String sha1 = checksum.calculateChecksum( ChecksumAlgorithm.SHA1 );
+ String md5 = checksum.calculateChecksum( ChecksumAlgorithm.MD5 );
+
+ String contents =
+ FileUtils.readFileToString( new File( repoLocation,
+
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".jar.sha1" ) );
+ assertTrue( StringUtils.contains( contents, sha1 ) );
+
+ contents =
+ FileUtils.readFileToString( new File( repoLocation,
+
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".jar.md5" ) );
+ assertTrue( StringUtils.contains( contents, md5 ) );
+
+ // verify checksums of pom file
+ checksum =
+ new ChecksummedFile( new File( repoLocation,
+
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".pom" ) );
+ sha1 = checksum.calculateChecksum( ChecksumAlgorithm.SHA1 );
+ md5 = checksum.calculateChecksum( ChecksumAlgorithm.MD5 );
+
+ contents =
+ FileUtils.readFileToString( new File( repoLocation,
+
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".pom.sha1" ) );
+ assertTrue( StringUtils.contains( contents, sha1 ) );
+
+ contents =
+ FileUtils.readFileToString( new File( repoLocation,
+
"/org/apache/archiva/artifact-upload/1.0-SNAPSHOT/artifact-upload-1.0-" +
timestamp + ".pom.md5" ) );
+ assertTrue( StringUtils.contains( contents, md5 ) );
+
+
+ // verify checksums of metadata file
+ checksum =
+ new ChecksummedFile( new File( repoLocation,
"/org/apache/archiva/artifact-upload/" +
+ MetadataTools.MAVEN_METADATA ) );
+ sha1 = checksum.calculateChecksum( ChecksumAlgorithm.SHA1 );
+ md5 = checksum.calculateChecksum( ChecksumAlgorithm.MD5 );
+
+ contents =
+ FileUtils.readFileToString( new File( repoLocation,
"/org/apache/archiva/artifact-upload/" +
+ MetadataTools.MAVEN_METADATA + ".sha1" ) );
+ assertTrue( StringUtils.contains( contents, sha1 ) );
+
+ contents =
+ FileUtils.readFileToString( new File( repoLocation,
"/org/apache/archiva/artifact-upload/" +
+ MetadataTools.MAVEN_METADATA + ".md5" ) );
+ assertTrue( StringUtils.contains( contents, md5 ) );
}
public void testChecksumIsCorrectWhenArtifactIsReUploaded()