Author: bentmann
Date: Sun Dec 20 14:04:45 2009
New Revision: 892597

URL: http://svn.apache.org/viewvc?rev=892597&view=rev
Log:
[MNG-4500] [regression] Maven checks for updates of timestamped snapshots

Modified:
    
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java

Modified: 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=892597&r1=892596&r2=892597&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 (original)
+++ 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 Sun Dec 20 14:04:45 2009
@@ -197,11 +197,9 @@
 
             transformationManager.transformForResolve( artifact, request );
 
-            boolean localCopy = isLocalCopy( artifact );
-
             destination = artifact.getFile();
 
-            if ( ( force || !destination.exists() || ( artifact.isSnapshot() 
&& !localCopy ) ) && !request.isOffline() )
+            if ( !request.isOffline() && ( force || !destination.exists() || 
isMutable( artifact ) ) )
             {
                 try
                 {
@@ -258,7 +256,7 @@
             // 1)         pom = 1.0-SNAPSHOT
             // 2)         pom = 1.0-yyyymmdd.hhmmss
             // 3) baseVersion = 1.0-SNAPSHOT
-            if ( artifact.isSnapshot() && !artifact.getBaseVersion().equals( 
artifact.getVersion() ) )
+            if ( artifact.isSnapshot() && isTimestamped( artifact ) )
             {
                 String version = artifact.getVersion();
 
@@ -295,7 +293,17 @@
             }
         }
     }
-        
+
+    private boolean isMutable( Artifact artifact )
+    {
+        return artifact.isSnapshot() && !isTimestamped( artifact ) && 
!isLocalCopy( artifact );
+    }
+
+    private boolean isTimestamped( Artifact artifact )
+    {
+        return !artifact.getBaseVersion().equals( artifact.getVersion() );
+    }
+
     private boolean isLocalCopy( Artifact artifact )
     {
         boolean localCopy = false;


Reply via email to