[14/17] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[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/215cd953 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/215cd953 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/215cd953 Branch: refs/heads/DEPMGMT Commit: 215cd953409f1baffbace4c5d3dbddad414d5044 Parents: 74896d0 Author: Christian Schulte Authored: Sat Dec 17 03:07:04 2016 +0100 Committer: Christian Schulte Committed: Sun Feb 12 14:52:40 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/215cd953/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/215cd953/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; import org.eclipse.aether.graph.Dependency
[14/17] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[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; import org.eclipse.aether.graph.Depende
[14/17] maven git commit: [MNG-6135] Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
[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; import org.eclipse.aether.graph.Dependency