Author: bentmann
Date: Fri Mar 13 16:12:29 2009
New Revision: 753309

URL: http://svn.apache.org/viewvc?rev=753309&view=rev
Log:
[MNG-4078] [regression] Plugin metaversion RELEASE no longer resolved

Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=753309&r1=753308&r2=753309&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
 Fri Mar 13 16:12:29 2009
@@ -37,6 +37,7 @@
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ResolutionGroup;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import 
org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
 import org.apache.maven.artifact.repository.metadata.GroupRepositoryMetadata;
 import org.apache.maven.artifact.repository.metadata.Metadata;
 import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
@@ -1805,8 +1806,31 @@
 
         String version = null;
 
+        RepositoryMetadata metadata = new ArtifactRepositoryMetadata( artifact 
);
+        try
+        {
+            repositoryMetadataManager.resolve( metadata, 
project.getRemoteArtifactRepositories(), localRepository );
+        }
+        catch ( RepositoryMetadataResolutionException e )
+        {
+            throw new PluginVersionResolutionException( groupId, artifactId, 
"Failed to resolve plugin version "
+                + metaVersionId + ": " + e.getMessage() );
+        }
+
         String artifactVersion = artifact.getVersion();
 
+        if ( metadata.getMetadata() != null && 
metadata.getMetadata().getVersioning() != null )
+        {
+            if ( Artifact.RELEASE_VERSION.equals( metaVersionId ) )
+            {
+                artifactVersion = 
metadata.getMetadata().getVersioning().getRelease();
+            }
+            else if ( Artifact.LATEST_VERSION.equals( metaVersionId ) )
+            {
+                artifactVersion = 
metadata.getMetadata().getVersioning().getLatest();
+            }
+        }
+
         // make sure this artifact was transformed to a real version, and 
actually resolved to a file in the repo...
         if ( !metaVersionId.equals( artifactVersion ) && ( artifact.getFile() 
!= null ) )
         {


Reply via email to