]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1421] Archiva repository purge incorrectly purges based on file timestamps...
authorBrett Porter <brett@apache.org>
Wed, 15 Dec 2010 03:39:46 +0000 (03:39 +0000)
committerBrett Porter <brett@apache.org>
Wed, 15 Dec 2010 03:39:46 +0000 (03:39 +0000)
 Merged from: r1049391:1049399

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1049407 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurge.java
archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/DaysOldRepositoryPurgeTest.java

index 7f15d59128932f17e70896515f40151684ba93b2..42eee8103e5f0e4f7f9f3743528687c115b403f9 100644 (file)
@@ -128,10 +128,6 @@ public class DaysOldRepositoryPurge
                     {
                         doPurgeAllRelated( newArtifactReference );
                     }
-                    else if ( newArtifactFile.lastModified() < olderThanThisDate.getTimeInMillis() )
-                    {
-                        doPurgeAllRelated( newArtifactReference );
-                    }
                 }
             }
         }
index 78dcb1bf96a82922eb5c13898165612d4acff693..6db918d6a8f8460c4843570385fdc1fa2f841382 100644 (file)
@@ -31,6 +31,8 @@ import java.util.Collections;
 public class DaysOldRepositoryPurgeTest
     extends AbstractRepositoryPurgeTest
 {
+    private static final int OLD_TIMESTAMP = 1179382029;
+
     private void setLastModified( String dirPath, long lastModified )
     {
         File dir = new File( dirPath );
@@ -54,7 +56,7 @@ public class DaysOldRepositoryPurgeTest
 
         String projectRoot = repoRoot + "/org/apache/maven/plugins/maven-install-plugin";
 
-        setLastModified( projectRoot + "/2.2-SNAPSHOT/", 1179382029 );
+        setLastModified( projectRoot + "/2.2-SNAPSHOT/", OLD_TIMESTAMP );
 
         // test listeners for the correct artifacts
         listener.deleteArtifact( getRepository().getId(), "org.apache.maven.plugins", "maven-install-plugin",
@@ -113,7 +115,7 @@ public class DaysOldRepositoryPurgeTest
 
         String projectRoot = repoRoot + "/org/apache/maven/plugins/maven-assembly-plugin";
 
-        setLastModified( projectRoot + "/1.1.2-SNAPSHOT/", 1179382029 );
+        setLastModified( projectRoot + "/1.1.2-SNAPSHOT/", OLD_TIMESTAMP );
 
         // test listeners for the correct artifacts
         listener.deleteArtifact( getRepository().getId(), "org.apache.maven.plugins", "maven-assembly-plugin",
@@ -169,8 +171,17 @@ public class DaysOldRepositoryPurgeTest
 
         for ( int i = 5; i <= 7; i++ )
         {
-            new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".jar" ).createNewFile();
-            new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".pom" ).createNewFile();
+            File jarFile = new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".jar" );
+            jarFile.createNewFile();
+            File pomFile = new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".pom" );
+            pomFile.createNewFile();
+
+            // set timestamp to older than 100 days for the first build, but ensure the filename timestamp is honoured instead
+            if ( i == 5 )
+            {
+                jarFile.setLastModified( OLD_TIMESTAMP );
+                pomFile.setLastModified( OLD_TIMESTAMP );
+            }
         }
 
         // test listeners for the correct artifacts