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 ) ) {