Author: ffang
Date: Tue May 21 07:55:46 2013
New Revision: 1484684

URL: http://svn.apache.org/r1484684
Log:
[KARAF-2316]features-maven-plugin ignore proxy settings in maven settings.xml

Modified:
    karaf/branches/karaf-2.x/pom.xml
    karaf/branches/karaf-2.x/tooling/features-maven-plugin/pom.xml
    
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GraphArtifactCollector.java
    
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java

Modified: karaf/branches/karaf-2.x/pom.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/pom.xml?rev=1484684&r1=1484683&r2=1484684&view=diff
==============================================================================
--- karaf/branches/karaf-2.x/pom.xml (original)
+++ karaf/branches/karaf-2.x/pom.xml Tue May 21 07:55:46 2013
@@ -168,7 +168,7 @@
         <jline.version>2.10</jline.version>
         <jsw.version>3.2.3</jsw.version>
         <log4j.version>1.2.17</log4j.version>
-        <maven.version>2.0.9</maven.version>
+        <maven.version>3.0-alpha-2</maven.version>
         <mina.version>2.0.7</mina.version>
         <osgi.version>4.3.1</osgi.version>
         <pax.base.version>1.4.0</pax.base.version>

Modified: karaf/branches/karaf-2.x/tooling/features-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/tooling/features-maven-plugin/pom.xml?rev=1484684&r1=1484683&r2=1484684&view=diff
==============================================================================
--- karaf/branches/karaf-2.x/tooling/features-maven-plugin/pom.xml (original)
+++ karaf/branches/karaf-2.x/tooling/features-maven-plugin/pom.xml Tue May 21 
07:55:46 2013
@@ -48,6 +48,7 @@
         <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-plugin-api</artifactId>
+            <version>3.0.4</version>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>

Modified: 
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GraphArtifactCollector.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GraphArtifactCollector.java?rev=1484684&r1=1484683&r2=1484684&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GraphArtifactCollector.java
 (original)
+++ 
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GraphArtifactCollector.java
 Tue May 21 07:55:46 2013
@@ -37,6 +37,7 @@ import org.apache.maven.artifact.resolve
 import org.apache.maven.artifact.resolver.CyclicDependencyException;
 import org.apache.maven.artifact.resolver.ResolutionListener;
 import org.apache.maven.artifact.resolver.ResolutionNode;
+import org.apache.maven.artifact.resolver.conflict.ConflictResolver;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
@@ -44,32 +45,41 @@ import org.apache.maven.artifact.version
 
 public class GraphArtifactCollector implements ArtifactCollector {
     public ArtifactResolutionResult collect(
-            Set artifacts,
+            Set<Artifact> artifacts,
             Artifact originatingArtifact,
             ArtifactRepository localRepository,
-            List remoteRepositories,
+            List<ArtifactRepository> remoteRepositories,
             ArtifactMetadataSource source,
             ArtifactFilter filter,
-            List listeners) throws ArtifactResolutionException {
+            List<ResolutionListener> listeners) {
         return collect(artifacts, originatingArtifact, Collections.EMPTY_MAP,
                 localRepository, remoteRepositories, source, filter, 
listeners);
     }
 
     public ArtifactResolutionResult collect(
-            Set artifacts,
+            Set<Artifact> artifacts,
             Artifact originatingArtifact,
             Map managedVersions,
             ArtifactRepository localRepository,
-            List remoteRepositories,
+            List<ArtifactRepository> remoteRepositories,
             ArtifactMetadataSource source,
             ArtifactFilter filter,
-            List listeners) throws ArtifactResolutionException {
+            List<ResolutionListener> listeners) {
         Map resolvedArtifacts = new HashMap();
 
         ResolutionNode root = new ResolutionNode(originatingArtifact, 
remoteRepositories);
-        root.addDependencies(artifacts, remoteRepositories, filter);
-        recurse(root, resolvedArtifacts, managedVersions, localRepository,
-                remoteRepositories, source, filter, listeners);
+        try {
+            root.addDependencies(artifacts, remoteRepositories, filter);
+            recurse(root, resolvedArtifacts, managedVersions, localRepository,
+                    remoteRepositories, source, filter, listeners);
+        } catch (CyclicDependencyException e) {
+            e.printStackTrace();
+        } catch (OverConstrainedVersionException e) {
+            e.printStackTrace();
+        } catch (ArtifactResolutionException e) {
+            e.printStackTrace();
+        }
+        
 
         Set set = new HashSet();
         for (Iterator i = resolvedArtifacts.values().iterator(); i.hasNext();) 
{
@@ -77,13 +87,17 @@ public class GraphArtifactCollector impl
             for (Iterator j = nodes.iterator(); j.hasNext();) {
                 ResolutionNode node = (ResolutionNode) j.next();
                 Artifact artifact = node.getArtifact();
-                if (!node.equals(root) && node.isActive() && 
node.filterTrail(filter)
-                        // If it was optional and not a direct dependency,
-                        // we don't add it or its children, just allow the
-                        // update of the version and scope
-                        && (node.isChildOfRootNode() || 
!artifact.isOptional())) {
-                    artifact.setDependencyTrail(node.getDependencyTrail());
-                    set.add(node);
+                try {
+                    if (!node.equals(root) && node.isActive() && 
node.filterTrail(filter)
+                            // If it was optional and not a direct dependency,
+                            // we don't add it or its children, just allow the
+                            // update of the version and scope
+                            && (node.isChildOfRootNode() || 
!artifact.isOptional())) {
+                        artifact.setDependencyTrail(node.getDependencyTrail());
+                        set.add(node);
+                    }
+                } catch (OverConstrainedVersionException e) {
+                    e.printStackTrace();
                 }
             }
         }
@@ -429,4 +443,16 @@ public class GraphArtifactCollector impl
             }
         }
     }
+
+    public ArtifactResolutionResult collect(Set<Artifact> artifacts, Artifact 
originatingArtifact,
+                                            Map managedVersions, 
ArtifactRepository localRepository,
+                                            List<ArtifactRepository> 
remoteRepositories,
+                                            ArtifactMetadataSource source, 
ArtifactFilter filter,
+                                            List<ResolutionListener> listeners,
+                                            List<ConflictResolver> 
conflictResolvers)
+        throws ArtifactResolutionException {
+         
+        return null;
+    }
+
 }

Modified: 
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java?rev=1484684&r1=1484683&r2=1484684&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java
 (original)
+++ 
karaf/branches/karaf-2.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/MojoSupport.java
 Tue May 21 07:55:46 2013
@@ -38,8 +38,10 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.artifact.resolver.ArtifactCollector;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.ResolutionListener;
 import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.plugin.AbstractMojo;
@@ -48,6 +50,7 @@ import org.apache.maven.project.MavenPro
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.MavenProjectHelper;
 import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.settings.Proxy;
 
 public abstract class MojoSupport extends AbstractMojo {
 
@@ -113,6 +116,15 @@ public abstract class MojoSupport extend
      * @parameter default-value="xml"
      */
     private String featureArtifactType = "xml";
+    
+    /**
+     * The Maven session.
+     * 
+     * @parameter expression="${session}"
+     * @readonly
+     * @required
+     */
+    protected MavenSession mavenSession;
 
     protected MavenProject getProject() {
         return project;
@@ -212,14 +224,14 @@ public abstract class MojoSupport extend
                     "An error occurred while resolving project dependencies.",
                     e);
         }
-        ResolutionListenerImpl listener = new ResolutionListenerImpl();
-        listener.setLog(getLog());
+        ResolutionListener listener = new ResolutionListenerImpl();
+        ((ResolutionListenerImpl)listener).setLog(getLog());
         try {
             collector.collect(project.getDependencyArtifacts(), project
                     .getArtifact(), managedVersions, localRepo, remoteRepos,
                     artifactMetadataSource, null, Collections
                             .singletonList(listener));
-        } catch (ArtifactResolutionException e) {
+        } catch (Exception e) {
             getLog().error(
                     "An error occurred while resolving project dependencies.",
                     e);
@@ -227,10 +239,10 @@ public abstract class MojoSupport extend
         if (getLog().isDebugEnabled()) {
             getLog().debug("Dependency graph");
             getLog().debug("================");
-            print(listener.getRootNode());
+            print(((ResolutionListenerImpl)listener).getRootNode());
             getLog().debug("================");
         }
-        return listener;
+        return (ResolutionListenerImpl)listener;
     }
 
     protected Map createManagedVersionMap(String projectId,
@@ -255,7 +267,7 @@ public abstract class MojoSupport extend
                             "Unable to parse version '" + d.getVersion()
                                     + "' for dependency '"
                                     + d.getManagementKey() + "': "
-                                    + e.getMessage(), e);
+                                    + e.getMessage());
                 }
             }
         } else {
@@ -409,6 +421,10 @@ public abstract class MojoSupport extend
                     repoUrl,
                     repoUrl,
                     new DefaultRepositoryLayout());
+            org.apache.maven.repository.Proxy mavenProxy = 
configureProxyToInlineRepo();
+            if (mavenProxy != null) {
+                repo.setProxy(mavenProxy);
+            }
             resourceLocation = resourceLocation.substring(repoDelimIntex + 1);
 
         }
@@ -444,4 +460,25 @@ public abstract class MojoSupport extend
         artifact.setRepository(repo);
         return artifact;
     }
+
+    private org.apache.maven.repository.Proxy configureProxyToInlineRepo() {
+        if (mavenSession != null && mavenSession.getSettings() != null) {
+            Proxy proxy = mavenSession.getSettings().getActiveProxy();
+            org.apache.maven.repository.Proxy mavenProxy = new 
org.apache.maven.repository.Proxy();
+            if (proxy != null) {
+                mavenProxy.setProtocol(proxy.getProtocol());
+                mavenProxy.setHost(proxy.getHost());
+                mavenProxy.setPort(proxy.getPort());
+                mavenProxy.setNonProxyHosts(proxy.getNonProxyHosts());
+                mavenProxy.setUserName(proxy.getUsername());
+                mavenProxy.setPassword(proxy.getPassword());
+                return mavenProxy;
+            } else {
+                return null;
+            }
+            
+        } else {
+            return null;
+        }
+    }
 }


Reply via email to