[14/17] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.

2017-01-31 Thread schulte
[MNG-6135] Maven plugins and core extensions are not dependencies, they should 
be resolved the same way as projects.

o Updated to use the '' element to decide the style of resolution
  as discussed on dev@. Plugins with prerequisites >= 3.6 get the correct
  resolution, all other plugins will be resolved with direct 'test' and
  'provided' dependencies ignored but direct 'optional' dependencies.
o During working on MNG-6135, it turned out that plugin dependency management
  also is applied to the dependencies declared for a plugin using the
  'plugins/plugin/dependencies/dependency' element. Dependencies declared
  that way must not be overridden by any management. I added management for
  'plexus-utils' in the core IT suite. This immediately made the ITs for
  MNG-4276 and MNG-4274 fail, because 'plexus-utils' got subject to management
  although a different version has been declared in the plugin declaration.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/d988ed72
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d988ed72
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d988ed72

Branch: refs/heads/DEPMGMT-IT
Commit: d988ed72d3ec320512b1b4fdc1f70d655a51b63f
Parents: 46d09dc
Author: Christian Schulte 
Authored: Sat Dec 17 03:07:04 2016 +0100
Committer: Christian Schulte 
Committed: Tue Jan 31 23:09:10 2017 +0100

--
 .../java/org/apache/maven/RepositoryUtils.java  |  12 +-
 .../DefaultPluginDependenciesResolver.java  | 370 ---
 .../plugin/internal/PlexusUtilsInjector.java|  30 +-
 .../maven/plugin/internal/WagonExcluder.java|  14 +-
 4 files changed, 344 insertions(+), 82 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/maven/blob/d988ed72/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
--
diff --git a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java 
b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
index 52442b7..08749ea 100644
--- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
+++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
@@ -114,12 +114,16 @@ public class RepositoryUtils
 
 List nodeTrail = new ArrayList<>( trail.size() + 1 );
 nodeTrail.addAll( trail );
-nodeTrail.add( artifact.getId() );
 
-if ( filter == null || filter.accept( node, 
Collections.emptyList() ) )
+if ( artifact != null )
 {
-artifact.setDependencyTrail( nodeTrail );
-artifacts.add( artifact );
+nodeTrail.add( artifact.getId() );
+
+if ( filter == null || filter.accept( node, 
Collections.emptyList() ) )
+{
+artifact.setDependencyTrail( nodeTrail );
+artifacts.add( artifact );
+}
 }
 
 toArtifacts( artifacts, node.getChildren(), nodeTrail, filter );

http://git-wip-us.apache.org/repos/asf/maven/blob/d988ed72/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
--
diff --git 
a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
 
b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
index b79b15f..80fd80d 100644
--- 
a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
+++ 
b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
@@ -20,10 +20,11 @@ package org.apache.maven.plugin.internal;
  */
 
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.maven.RepositoryUtils;
+import org.apache.maven.artifact.versioning.ComparableVersion;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.PluginResolutionException;
@@ -37,8 +38,11 @@ import org.eclipse.aether.RequestTrace;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
 import org.eclipse.aether.collection.CollectRequest;
+import org.eclipse.aether.collection.DependencyCollectionContext;
 import org.eclipse.aether.collection.DependencyCollectionException;
 import org.eclipse.aether.collection.DependencyGraphTransformer;
+import org.eclipse.aether.collection.DependencyManagement;
+import org.eclipse.aether.collection.DependencyManager;
 import org.eclipse.aether.collection.DependencySelector;
 import org.eclipse.aether.graph.DependencyFilter;

[14/17] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.

2017-01-31 Thread schulte
[MNG-6135] Maven plugins and core extensions are not dependencies, they should 
be resolved the same way as projects.

o Updated to use the '' element to decide the style of resolution
  as discussed on dev@. Plugins with prerequisites >= 3.6 get the correct
  resolution, all other plugins will be resolved with direct 'test' and
  'provided' dependencies ignored but direct 'optional' dependencies.
o During working on MNG-6135, it turned out that plugin dependency management
  also is applied to the dependencies declared for a plugin using the
  'plugins/plugin/dependencies/dependency' element. Dependencies declared
  that way must not be overridden by any management. I added management for
  'plexus-utils' in the core IT suite. This immediately made the ITs for
  MNG-4276 and MNG-4274 fail, because 'plexus-utils' got subject to management
  although a different version has been declared in the plugin declaration.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/36046dc9
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/36046dc9
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/36046dc9

Branch: refs/heads/DEPMGMT
Commit: 36046dc9c5a1ad0d845d821eee4307312ec329a9
Parents: 3d66985
Author: Christian Schulte 
Authored: Sat Dec 17 03:07:04 2016 +0100
Committer: Christian Schulte 
Committed: Tue Jan 31 22:34:34 2017 +0100

--
 .../java/org/apache/maven/RepositoryUtils.java  |  12 +-
 .../DefaultPluginDependenciesResolver.java  | 370 ---
 .../plugin/internal/PlexusUtilsInjector.java|  30 +-
 .../maven/plugin/internal/WagonExcluder.java|  14 +-
 4 files changed, 344 insertions(+), 82 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/maven/blob/36046dc9/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
--
diff --git a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java 
b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
index 52442b7..08749ea 100644
--- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
+++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
@@ -114,12 +114,16 @@ public class RepositoryUtils
 
 List nodeTrail = new ArrayList<>( trail.size() + 1 );
 nodeTrail.addAll( trail );
-nodeTrail.add( artifact.getId() );
 
-if ( filter == null || filter.accept( node, 
Collections.emptyList() ) )
+if ( artifact != null )
 {
-artifact.setDependencyTrail( nodeTrail );
-artifacts.add( artifact );
+nodeTrail.add( artifact.getId() );
+
+if ( filter == null || filter.accept( node, 
Collections.emptyList() ) )
+{
+artifact.setDependencyTrail( nodeTrail );
+artifacts.add( artifact );
+}
 }
 
 toArtifacts( artifacts, node.getChildren(), nodeTrail, filter );

http://git-wip-us.apache.org/repos/asf/maven/blob/36046dc9/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
--
diff --git 
a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
 
b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
index b79b15f..80fd80d 100644
--- 
a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
+++ 
b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
@@ -20,10 +20,11 @@ package org.apache.maven.plugin.internal;
  */
 
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-
 import org.apache.maven.RepositoryUtils;
+import org.apache.maven.artifact.versioning.ComparableVersion;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.PluginResolutionException;
@@ -37,8 +38,11 @@ import org.eclipse.aether.RequestTrace;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
 import org.eclipse.aether.collection.CollectRequest;
+import org.eclipse.aether.collection.DependencyCollectionContext;
 import org.eclipse.aether.collection.DependencyCollectionException;
 import org.eclipse.aether.collection.DependencyGraphTransformer;
+import org.eclipse.aether.collection.DependencyManagement;
+import org.eclipse.aether.collection.DependencyManager;
 import org.eclipse.aether.collection.DependencySelector;
 import org.eclipse.aether.graph.DependencyFilter;