You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2018/02/14 19:38:23 UTC

[maven-enforcer] branch MENFORCER-267 created (now ee27104)

This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a change to branch MENFORCER-267
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git.


      at ee27104  Added patch from MENFORCER-277 Not yet compiling.

This branch includes the following new commits:

     new 8c4df95  Upgraded to 3.0.1 fails the builds.
     new 59370c0  Continued..not compiling yet.
     new ee27104  Added patch from MENFORCER-277 Not yet compiling.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
khmarbaise@apache.org.

[maven-enforcer] 02/03: Continued..not compiling yet.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch MENFORCER-267
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit 59370c0aad7a12282b92298f1990bccbf81084b9
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Jan 6 20:50:11 2018 +0100

    Continued..not compiling yet.
---
 enforcer-rules/pom.xml                             |  4 ---
 .../plugins/enforcer/AbstractBanDependencies.java  | 29 +++++++-------------
 .../enforcer/BanTransitiveDependencies.java        |  5 ++--
 .../plugins/enforcer/DependencyConvergence.java    | 28 ++++++++-----------
 .../plugins/enforcer/RequirePluginVersions.java    |  9 ------
 .../plugins/enforcer/RequireUpperBoundDeps.java    | 32 ++++++++--------------
 .../enforcer/utils/DependencyVersionMap.java       |  4 +--
 .../plugins/enforcer/utils/EnforcerRuleUtils.java  |  5 +---
 .../plugins/enforcer/TestBannedRepositories.java   |  1 -
 9 files changed, 39 insertions(+), 78 deletions(-)

diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml
index abfd146..9b64fca 100644
--- a/enforcer-rules/pom.xml
+++ b/enforcer-rules/pom.xml
@@ -90,10 +90,6 @@
       <artifactId>maven-dependency-tree</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-compat</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.assertj</groupId>
       <artifactId>assertj-core</artifactId>
       <scope>test</scope>
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
index 489bb7c..9039312 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
@@ -1,5 +1,8 @@
 package org.apache.maven.plugins.enforcer;
 
+import java.util.HashSet;
+import java.util.Set;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -22,15 +25,13 @@ package org.apache.maven.plugins.enforcer;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import java.util.HashSet;
-import java.util.Set;
 
 /**
  * Abstract Rule for banning dependencies.
@@ -52,11 +53,11 @@ public abstract class AbstractBanDependencies
         throws EnforcerRuleException
     {
 
-        // get the project
-        MavenProject project = null;
+        // get the session
+        MavenSession session = null;
         try
         {
-            project = (MavenProject) helper.evaluate( "${project}" );
+            session = (MavenSession) helper.evaluate( "${session}" );
         }
         catch ( ExpressionEvaluationException eee )
         {
@@ -69,21 +70,11 @@ public abstract class AbstractBanDependencies
         }
         catch ( ComponentLookupException e )
         {
-            // real cause is probably that one of the Maven3 graph builder could not be initiated and fails with a
-            // ClassNotFoundException
-            try
-            {
-                graphBuilder =
-                    (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class.getName(), "maven2" );
-            }
-            catch ( ComponentLookupException e1 )
-            {
                 throw new EnforcerRuleException( "Unable to lookup DependencyGraphBuilder: ", e );
-            }
         }
 
         // get the correct list of dependencies
-        Set<Artifact> dependencies = getDependenciesToCheck( project );
+        Set<Artifact> dependencies = getDependenciesToCheck( session );
 
         // look for banned dependencies
         Set<Artifact> foundExcludes = checkDependencies( dependencies, helper.getLog() );
@@ -114,12 +105,12 @@ public abstract class AbstractBanDependencies
         return "Found Banned Dependency: " + artifact.getId() + "\n";
     }
 
-    protected Set<Artifact> getDependenciesToCheck( MavenProject project )
+    protected Set<Artifact> getDependenciesToCheck( MavenSession session )
     {
         Set<Artifact> dependencies = null;
         try
         {
-            DependencyNode node = graphBuilder.buildDependencyGraph( project, null );
+            DependencyNode node = graphBuilder.buildDependencyGraph( session.getProjectBuildingRequest(), null );
             if ( searchTransitive )
             {
                 dependencies = getAllDescendants( node );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
index 0d4db57..00f96f5 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
@@ -26,6 +26,7 @@ import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException
 import org.apache.maven.enforcer.rule.api.EnforcerRule;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugins.enforcer.utils.ArtifactMatcher;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
@@ -157,8 +158,8 @@ public class BanTransitiveDependencies
 
         try
         {
-            MavenProject project = (MavenProject) helper.evaluate( "${project}" );
-            rootNode = createDependencyGraphBuilder().buildDependencyGraph( project, null );
+            MavenSession session = (MavenSession) helper.evaluate( "${session}" );
+            rootNode = createDependencyGraphBuilder().buildDependencyGraph( session.getProjectBuildingRequest(), null );
         }
         catch ( Exception e )
         {
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
index ed5d300..f6f4256 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
@@ -24,20 +24,18 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.enforcer.rule.api.EnforcerRule;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.plugins.enforcer.utils.DependencyVersionMap;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 
@@ -74,17 +72,13 @@ public class DependencyConvergence
     {
         try
         {
-            MavenProject project = (MavenProject) helper.evaluate( "${project}" );
-            DependencyTreeBuilder dependencyTreeBuilder =
-                (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
-            ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
-            ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
-            ArtifactMetadataSource metadataSource =
-                (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
-            ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
+            MavenSession session = (MavenSession) helper.evaluate( "${session}" );
+            DependencyGraphBuilder dependencyTreeBuilder =
+                (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
             ArtifactFilter filter = null; // we need to evaluate all scopes
-            DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, repository, factory,
-                                                                             metadataSource, filter, collector );
+            
+            DependencyNode node = dependencyTreeBuilder.buildDependencyGraph(session.getProjectBuildingRequest(), filter );
+
             return node;
         }
         catch ( ExpressionEvaluationException e )
@@ -95,7 +89,7 @@ public class DependencyConvergence
         {
             throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
         }
-        catch ( DependencyTreeBuilderException e )
+        catch ( DependencyGraphBuilderException e )
         {
             throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
         }
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
index 9e840da..e700735 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
@@ -37,7 +37,6 @@ import org.apache.maven.artifact.factory.ArtifactFactory;
 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.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
@@ -162,12 +161,6 @@ public class RequirePluginVersions
     /** The lifecycles. */
     private Collection<Lifecycle> lifecycles;
 
-    /** The factory. */
-    ArtifactFactory factory;
-
-    /** The resolver. */
-    ArtifactResolver resolver;
-
     /** The local. */
     ArtifactRepository local;
 
@@ -217,8 +210,6 @@ public class RequirePluginVersions
 
             session = (MavenSession) helper.evaluate( "${session}" );
             pluginManager = (PluginManager) helper.getComponent( PluginManager.class );
-            factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
-            resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
             local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
             remoteRepositories = project.getRemoteArtifactRepositories();
 
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
index 9769553..fad4d23 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
@@ -26,22 +26,19 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 
@@ -105,18 +102,13 @@ public class RequireUpperBoundDeps
     {
         try
         {
-            MavenProject project = (MavenProject) helper.evaluate( "${project}" );
-            DependencyTreeBuilder dependencyTreeBuilder =
-                (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
-            ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
-            ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
-            ArtifactMetadataSource metadataSource =
-                (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
-            ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
+            MavenSession session = (MavenSession) helper.evaluate( "${session}" );
+            DependencyGraphBuilder dependencyTreeBuilder =
+                (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
             ArtifactFilter filter = null; // we need to evaluate all scopes
-            DependencyNode node =
-                dependencyTreeBuilder.buildDependencyTree( project, repository, factory, metadataSource, filter,
-                                                           collector );
+            
+            DependencyNode node = dependencyTreeBuilder.buildDependencyGraph(session.getProjectBuildingRequest(), filter );
+
             return node;
         }
         catch ( ExpressionEvaluationException e )
@@ -127,7 +119,7 @@ public class RequireUpperBoundDeps
         {
             throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
         }
-        catch ( DependencyTreeBuilderException e )
+        catch ( DependencyGraphBuilderException e )
         {
             throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
         }
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
index b6213fa..ec78fc7 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
@@ -26,8 +26,8 @@ import java.util.Map;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
 
 /**
  * @author Brian Fox
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
index c122e10..559e187 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
@@ -23,7 +23,6 @@ import java.util.List;
 
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.ReportPlugin;
@@ -31,6 +30,7 @@ import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.sonatype.aether.impl.ArtifactResolver;
 
 /**
  * The Class EnforcerRuleUtils.
@@ -43,9 +43,6 @@ public class EnforcerRuleUtils
     /** The factory. */
     ArtifactFactory factory;
 
-    /** The resolver. */
-    ArtifactResolver resolver;
-
     /** The local. */
     ArtifactRepository local;
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java
index e27ee86..740cf44 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestBannedRepositories.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.codehaus.plexus.PlexusTestCase;

-- 
To stop receiving notification emails like this one, please contact
khmarbaise@apache.org.

[maven-enforcer] 01/03: Upgraded to 3.0.1 fails the builds.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch MENFORCER-267
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit 8c4df9546f28ebb8125a6a2b53b0eba9c0153f9d
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Jan 6 17:51:24 2018 +0100

    Upgraded to 3.0.1 fails the builds.
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 1ab36dd..b8253e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -147,7 +147,7 @@
       <dependency>
         <groupId>org.apache.maven.shared</groupId>
         <artifactId>maven-dependency-tree</artifactId>
-        <version>2.2</version>
+        <version>3.0.1</version>
       </dependency>
       <dependency>
         <groupId>org.assertj</groupId>

-- 
To stop receiving notification emails like this one, please contact
khmarbaise@apache.org.

[maven-enforcer] 03/03: Added patch from MENFORCER-277 Not yet compiling.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch MENFORCER-267
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit ee2710487e5c119f57bcb49ee461ba5090c48b62
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Wed Feb 14 20:37:58 2018 +0100

    Added patch from MENFORCER-277
    Not yet compiling.
---
 .../maven/plugins/enforcer/AbstractBanDependencies.java    |  7 ++++---
 .../maven/plugins/enforcer/BanTransitiveDependencies.java  |  2 +-
 .../maven/plugins/enforcer/DependencyConvergence.java      | 11 ++++++++---
 .../maven/plugins/enforcer/RequirePluginVersions.java      |  9 +++++++++
 .../maven/plugins/enforcer/RequireUpperBoundDeps.java      | 10 ++++++++--
 .../maven/plugins/enforcer/utils/EnforcerRuleUtils.java    |  5 ++++-
 .../plugins/enforcer/BannedDependenciesTestSetup.java      |  5 +++--
 .../apache/maven/plugins/enforcer/EnforcerTestUtils.java   | 11 ++++++++---
 .../apache/maven/plugins/enforcer/MockPlexusContainer.java |  1 +
 .../maven/plugins/enforcer/TestRequireReleaseDeps.java     | 14 ++++++++------
 10 files changed, 54 insertions(+), 21 deletions(-)

diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
index 9039312..4d77c17 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
@@ -27,6 +27,7 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
@@ -74,7 +75,7 @@ public abstract class AbstractBanDependencies
         }
 
         // get the correct list of dependencies
-        Set<Artifact> dependencies = getDependenciesToCheck( session );
+        Set<Artifact> dependencies = getDependenciesToCheck( session.getProjectBuildingRequest() );
 
         // look for banned dependencies
         Set<Artifact> foundExcludes = checkDependencies( dependencies, helper.getLog() );
@@ -105,12 +106,12 @@ public abstract class AbstractBanDependencies
         return "Found Banned Dependency: " + artifact.getId() + "\n";
     }
 
-    protected Set<Artifact> getDependenciesToCheck( MavenSession session )
+    protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest request)
     {
         Set<Artifact> dependencies = null;
         try
         {
-            DependencyNode node = graphBuilder.buildDependencyGraph( session.getProjectBuildingRequest(), null );
+            DependencyNode node = graphBuilder.buildDependencyGraph( request, null );
             if ( searchTransitive )
             {
                 dependencies = getAllDescendants( node );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
index 00f96f5..20bae2e 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
@@ -28,7 +28,6 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugins.enforcer.utils.ArtifactMatcher;
-import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuilder;
@@ -159,6 +158,7 @@ public class BanTransitiveDependencies
         try
         {
             MavenSession session = (MavenSession) helper.evaluate( "${session}" );
+            
             rootNode = createDependencyGraphBuilder().buildDependencyGraph( session.getProjectBuildingRequest(), null );
         }
         catch ( Exception e )
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
index f6f4256..36f24ba 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
@@ -24,7 +24,6 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.enforcer.rule.api.EnforcerRule;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
@@ -32,7 +31,9 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.plugins.enforcer.utils.DependencyVersionMap;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
@@ -58,7 +59,7 @@ public class DependencyConvergence
     // CHECKSTYLE_OFF: LineLength
     /**
      * Uses the {@link EnforcerRuleHelper} to populate the values of the
-     * {@link DependencyTreeBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
+     * {@link DependencyGraphBuilder#buildDependencyGraph(org.apache.maven.project.ProjectBuildingRequest, ArtifactFilter)}
      * factory method. <br/>
      * This method simply exists to hide all the ugly lookup that the {@link EnforcerRuleHelper} has to do.
      * 
@@ -72,12 +73,16 @@ public class DependencyConvergence
     {
         try
         {
+            MavenProject project = (MavenProject) helper.evaluate( "${project}" );
             MavenSession session = (MavenSession) helper.evaluate( "${session}" );
+            
+            ProjectBuildingRequest request = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );
+            request.setProject( project );
             DependencyGraphBuilder dependencyTreeBuilder =
                 (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
             ArtifactFilter filter = null; // we need to evaluate all scopes
             
-            DependencyNode node = dependencyTreeBuilder.buildDependencyGraph(session.getProjectBuildingRequest(), filter );
+            DependencyNode node = dependencyTreeBuilder.buildDependencyGraph(request, filter );
 
             return node;
         }
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
index e700735..958cc5f 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
@@ -69,6 +69,7 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti
 import org.codehaus.plexus.util.ReflectionUtils;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.sonatype.aether.impl.ArtifactResolver;
 
 /**
  * This rule will enforce that all plugins specified in the poms have a version declared.
@@ -161,6 +162,12 @@ public class RequirePluginVersions
     /** The lifecycles. */
     private Collection<Lifecycle> lifecycles;
 
+    /** The factory. */
+    ArtifactFactory factory;
+    
+    /** The resolver. */
+    ArtifactResolver resolver;
+
     /** The local. */
     ArtifactRepository local;
 
@@ -210,6 +217,8 @@ public class RequirePluginVersions
 
             session = (MavenSession) helper.evaluate( "${session}" );
             pluginManager = (PluginManager) helper.getComponent( PluginManager.class );
+            factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
+            resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
             local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
             remoteRepositories = project.getRemoteArtifactRepositories();
 
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
index fad4d23..09ba0ae 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
@@ -34,7 +34,9 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
@@ -88,7 +90,7 @@ public class RequireUpperBoundDeps
     // CHECKSTYLE_OFF: LineLength
     /**
      * Uses the {@link EnforcerRuleHelper} to populate the values of the
-     * {@link DependencyTreeBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
+     * {@link DependencyGraphBuilder#buildDependencyGraph(org.apache.maven.project.ProjectBuildingRequest, ArtifactFilter)}
      * factory method. <br/>
      * This method simply exists to hide all the ugly lookup that the {@link EnforcerRuleHelper} has to do.
      * 
@@ -103,11 +105,15 @@ public class RequireUpperBoundDeps
         try
         {
             MavenSession session = (MavenSession) helper.evaluate( "${session}" );
+            MavenProject project = (MavenProject) helper.evaluate( "${project}" );
+            ProjectBuildingRequest request = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );
+            request.setProject( project );
+
             DependencyGraphBuilder dependencyTreeBuilder =
                 (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
             ArtifactFilter filter = null; // we need to evaluate all scopes
             
-            DependencyNode node = dependencyTreeBuilder.buildDependencyGraph(session.getProjectBuildingRequest(), filter );
+            DependencyNode node = dependencyTreeBuilder.buildDependencyGraph(request, filter );
 
             return node;
         }
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
index 559e187..9af0233 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
@@ -42,7 +42,10 @@ public class EnforcerRuleUtils
 
     /** The factory. */
     ArtifactFactory factory;
-
+    
+    /** The resolver. */
+    ArtifactResolver resolver;
+    
     /** The local. */
     ArtifactRepository local;
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
index 1d36ef7..8218c36 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/BannedDependenciesTestSetup.java
@@ -29,6 +29,7 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.plugin.testing.ArtifactStubFactory;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
 
 public class BannedDependenciesTestSetup
 {
@@ -92,10 +93,10 @@ public class BannedDependenciesTestSetup
     {
         BannedDependencies rule = new BannedDependencies()
         {
-            @SuppressWarnings( "unchecked" )
             @Override
-            protected Set<Artifact> getDependenciesToCheck( MavenProject project )
+            protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest request )
             {
+                  MavenProject project = request.getProject();
                 // the integration with dependencyGraphTree is verified with the integration tests
                 // for unit-testing
                 return isSearchTransitive() ? project.getArtifacts() : project.getDependencyArtifacts();
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java
index 29014a5..5b1461a 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/EnforcerTestUtils.java
@@ -33,6 +33,7 @@ import org.apache.maven.plugin.MojoExecution;
 import org.apache.maven.plugin.PluginParameterExpressionEvaluator;
 import org.apache.maven.plugin.logging.SystemStreamLog;
 import org.apache.maven.plugins.enforcer.utils.MockEnforcerExpressionEvaluator;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
@@ -58,9 +59,9 @@ public final class EnforcerTestUtils
 
         Properties systemProperties = new Properties();
         systemProperties.put( "maven.version", "3.0" );
-        when( mer.getUserProperties() ).thenReturn( new Properties() );
-        when( mer.getSystemProperties() ).thenReturn( systemProperties );
-
+        when( mer.getSystemProperties()).thenReturn( systemProperties );
+        when( mer.getProjectBuildingRequest() ).thenReturn( new DefaultProjectBuildingRequest() );
+         
         MavenExecutionResult meresult = mock( MavenExecutionResult.class );
         return new MavenSession( mock, (RepositorySystemSession) null, mer, meresult );
     }
@@ -107,6 +108,8 @@ public final class EnforcerTestUtils
     public static EnforcerRuleHelper getHelper( MavenProject project, boolean mockExpression )
     {
         MavenSession session = getMavenSession();
+        session.getProjectBuildingRequest().setProject( project );
+        
         ExpressionEvaluator eval;
         if ( mockExpression )
         {
@@ -131,6 +134,8 @@ public final class EnforcerTestUtils
     public static EnforcerRuleHelper getHelper( MavenProject project, ExpressionEvaluator eval )
     {
         MavenSession session = getMavenSession();
+        session.getProjectBuildingRequest().setProject( project );
+
         return new DefaultEnforcementRuleHelper( session, eval, new SystemStreamLog(), null );
     }
 
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockPlexusContainer.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockPlexusContainer.java
index a73cbbd..da67086 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockPlexusContainer.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/MockPlexusContainer.java
@@ -27,6 +27,7 @@ import java.util.Map;
 
 import org.apache.maven.execution.RuntimeInformation;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.RuntimeInfo;
 import org.codehaus.classworlds.ClassRealm;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.PlexusContainerException;
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java
index 858e60f..9204233 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireReleaseDeps.java
@@ -22,13 +22,14 @@ package org.apache.maven.plugins.enforcer;
 import java.io.IOException;
 import java.util.Set;
 
-import junit.framework.TestCase;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.plugin.testing.ArtifactStubFactory;
 import org.apache.maven.plugins.enforcer.utils.EnforcerRuleUtilsHelper;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
+
+import junit.framework.TestCase;
 
 /**
  * The Class TestNoSnapshots.
@@ -81,7 +82,7 @@ public class TestRequireReleaseDeps
         project.setParent( parent );
         project.setArtifacts( null );
         project.setDependencyArtifacts( null );
-        helper = EnforcerTestUtils.getHelper(project);
+        helper = EnforcerTestUtils.getHelper( project );
 
         rule.setFailWhenParentIsSnapshot( true );
         EnforcerRuleUtilsHelper.execute( rule, helper, true );
@@ -89,15 +90,16 @@ public class TestRequireReleaseDeps
         rule.setFailWhenParentIsSnapshot( false );
         EnforcerRuleUtilsHelper.execute( rule, helper, false );
 
-
     }
 
     private RequireReleaseDeps newRequireReleaseDeps()
     {
         RequireReleaseDeps rule = new RequireReleaseDeps()
         {
-            protected Set<Artifact> getDependenciesToCheck( MavenProject project )
-            {
+            @Override
+            protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest request )
+                         {
+            MavenProject project = request.getProject();
                 // the integration with dependencyGraphTree is verified with the integration tests
                 // for unit-testing 
                 return isSearchTransitive() ? project.getArtifacts() : project.getDependencyArtifacts();

-- 
To stop receiving notification emails like this one, please contact
khmarbaise@apache.org.