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]>.

Reply via email to