You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2007/11/07 10:03:02 UTC
svn commit: r592657 - in /maven/archiva/trunk/archiva-base:
archiva-common/src/main/java/org/apache/maven/archiva/common/utils/
archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/
archiva-consumers...
Author: oching
Date: Wed Nov 7 01:02:58 2007
New Revision: 592657
URL: http://svn.apache.org/viewvc?rev=592657&view=rev
Log:
[MRM-576]
- modified logic for deleting released snapshots, delete only if there exists a released version of that snapshot not when there is a
higher released/snapshot version
- adjusted tests
Modified:
maven/archiva/trunk/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/VersionUtil.java
maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java
maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java
Modified: maven/archiva/trunk/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/VersionUtil.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/VersionUtil.java?rev=592657&r1=592656&r2=592657&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/VersionUtil.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-common/src/main/java/org/apache/maven/archiva/common/utils/VersionUtil.java Wed Nov 7 01:02:58 2007
@@ -65,6 +65,8 @@
public static final Pattern TIMESTAMP_PATTERN = Pattern.compile( "^([0-9]{8})\\.([0-9]{6})$" );
+ public static final Pattern GENERIC_SNAPSHOT_PATTERN = Pattern.compile( "^(.*)-" + SNAPSHOT );
+
/**
* <p>
* Tests if the unknown string contains elements that identify it as a version string (or not).
@@ -151,6 +153,38 @@
else
{
return version;
+ }
+ }
+
+ /**
+ * <p>
+ * Get the release version of the snapshot version.
+ * </p>
+ *
+ * <p>
+ * If snapshot version is 1.0-SNAPSHOT, then release version would be 1.0
+ * And if snapshot version is 1.0-20070113.163208-1.jar, then release version would still be 1.0
+ * </p>
+ *
+ * @param snapshotVersion
+ * @return
+ */
+ public static String getReleaseVersion( String snapshotVersion )
+ {
+ Matcher m = UNIQUE_SNAPSHOT_PATTERN.matcher( snapshotVersion );
+
+ if( isGenericSnapshot( snapshotVersion ) )
+ {
+ m = GENERIC_SNAPSHOT_PATTERN.matcher( snapshotVersion );
+ }
+
+ if ( m.matches() )
+ {
+ return m.group( 1 );
+ }
+ else
+ {
+ return snapshotVersion;
}
}
Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java?rev=592657&r1=592656&r2=592657&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurge.java Wed Nov 7 01:02:58 2007
@@ -133,17 +133,17 @@
VersionedReference versionRef = new VersionedReference();
versionRef.setGroupId( artifact.getGroupId() );
versionRef.setArtifactId( artifact.getArtifactId() );
-
+
for ( String version : snapshotVersions )
- {
- if ( VersionComparator.getInstance().compare( version, highestReleasedVersion ) < 0 )
+ {
+ if( releasedVersions.contains( VersionUtil.getReleaseVersion( version ) ) )
{
versionRef.setVersion( version );
repository.deleteVersion( versionRef );
needsMetadataUpdate = true;
}
- }
-
+ }
+
if ( needsMetadataUpdate )
{
updateMetadata( artifact );
Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java?rev=592657&r1=592656&r2=592657&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java Wed Nov 7 01:02:58 2007
@@ -88,7 +88,7 @@
// check if metadata file was updated
File artifactMetadataFile = new File( projectRoot + "/maven-metadata.xml" );
-
+
String metadataXml = FileUtils.readFileToString( artifactMetadataFile, null );
String expectedVersions = "<expected><versions><version>2.2</version>" +
@@ -111,15 +111,15 @@
repoPurge.process( PATH_TO_HIGHER_SNAPSHOT_EXISTS );
String projectRoot = repoRoot + "/org/apache/maven/plugins/maven-source-plugin";
-
- // check if the snapshot was removed
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT" );
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar" );
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar.md5" );
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar.sha1" );
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom" );
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom.md5" );
- assertDeleted( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom.sha1" );
+
+ // check if the snapshot was not removed
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT" );
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar" );
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar.md5" );
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar.sha1" );
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom" );
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom.md5" );
+ assertExists( projectRoot + "/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom.sha1" );
// check if the released version was not removed
assertExists( projectRoot + "/2.0.4-SNAPSHOT" );
@@ -130,12 +130,12 @@
assertExists( projectRoot + "/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.pom.md5" );
assertExists( projectRoot + "/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.pom.sha1" );
- // check if metadata file was updated
+ // check if metadata file was not updated (because nothing was removed)
File artifactMetadataFile = new File( projectRoot + "/maven-metadata.xml" );
String metadataXml = FileUtils.readFileToString( artifactMetadataFile, null );
- String expectedVersions = "<expected><versions><version>2.0.2</version>" +
+ String expectedVersions = "<expected><versions><version>2.0.3-SNAPSHOT</version>" +
"<version>2.0.4-SNAPSHOT</version></versions></expected>";
XMLAssert.assertXpathEvaluatesTo( "2.0.4-SNAPSHOT", "//metadata/versioning/latest", metadataXml );
@@ -143,7 +143,7 @@
"//metadata/versioning/versions/version", metadataXml );
XMLAssert.assertXpathEvaluatesTo( "20070427033345", "//metadata/versioning/lastUpdated", metadataXml );
}
-
+
private void populateReleasedSnapshotsTest()
throws ArchivaDatabaseException
{