This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag maven-launchpad-plugin-2.0.10 in repository https://gitbox.apache.org/repos/asf/sling-maven-launchpad-plugin.git
commit ede6563df09085d3e4a8c1ddd79880aaf9b3afd0 Author: Justin Edelson <[email protected]> AuthorDate: Mon Feb 14 13:56:46 2011 +0000 SLING-1980 - fixing by adding some code as described by Benjamin on maven-users git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/maven/maven-launchpad-plugin@1070487 13f79535-47bb-0310-9956-ffa450edef68 --- .../projectsupport/AbstractBundleListMojo.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/org/apache/sling/maven/projectsupport/AbstractBundleListMojo.java b/src/main/java/org/apache/sling/maven/projectsupport/AbstractBundleListMojo.java index 7201bd3..cd6bb11 100644 --- a/src/main/java/org/apache/sling/maven/projectsupport/AbstractBundleListMojo.java +++ b/src/main/java/org/apache/sling/maven/projectsupport/AbstractBundleListMojo.java @@ -24,10 +24,13 @@ import java.util.Properties; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException; +import org.apache.maven.artifact.metadata.ArtifactMetadataSource; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.artifact.resolver.ArtifactResolver; +import org.apache.maven.artifact.versioning.ArtifactVersion; import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; import org.apache.maven.artifact.versioning.VersionRange; import org.apache.maven.execution.MavenSession; @@ -129,6 +132,13 @@ public abstract class AbstractBundleListMojo extends AbstractMojo { private ArtifactFactory factory; /** + * Used to look up Artifacts in the remote repository. + * + * @component hint="maven" + */ + private ArtifactMetadataSource metadataSource; + + /** * If true, include the default bundles. * * @parameter default-value="true" @@ -225,6 +235,19 @@ public abstract class AbstractBundleListMojo extends AbstractMojo { artifact = factory.createDependencyArtifact(groupId, artifactId, vr, type, classifier, Artifact.SCOPE_COMPILE); } + + // This code kicks in when the version specifier is a range. + if (vr.getRecommendedVersion() == null) { + try { + List availVersions = metadataSource.retrieveAvailableVersions(artifact, local, remoteRepos); + ArtifactVersion resolvedVersion = vr.matchVersion(availVersions); + artifact.setVersion(resolvedVersion.toString()); + } catch (ArtifactMetadataRetrievalException e) { + throw new MojoExecutionException("Unable to find version for artifact", e); + } + + } + try { resolver.resolve(artifact, remoteRepos, local); } catch (ArtifactResolutionException e) { -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
