This is an automated email from the ASF dual-hosted git repository. slachiewicz pushed a commit to branch MENFORCER-267 in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git
commit 38e85a7a2dd91948aaf00506884d3e1aa43500fc Author: Sylwester Lachiewicz <[email protected]> AuthorDate: Tue Jan 26 00:03:27 2021 +0100 Upgrade maven-dependency-tree to 3.0.1 --- enforcer-rules/pom.xml | 10 ------ .../plugins/enforcer/AbstractBanDependencies.java | 28 ++++++--------- .../enforcer/BanTransitiveDependencies.java | 8 ++--- .../maven/plugins/enforcer/BannedPlugins.java | 2 +- .../plugins/enforcer/DependencyConvergence.java | 41 ++++++++++------------ .../plugins/enforcer/RequirePluginVersions.java | 10 +++--- .../plugins/enforcer/RequireUpperBoundDeps.java | 37 +++++++++---------- .../enforcer/utils/DependencyVersionMap.java | 4 +-- .../plugins/enforcer/utils/EnforcerRuleUtils.java | 5 ++- .../enforcer/BannedDependenciesTestSetup.java | 7 ++-- .../maven/plugins/enforcer/EnforcerTestUtils.java | 11 ++++-- .../plugins/enforcer/TestBannedRepositories.java | 1 - .../plugins/enforcer/TestRequireReleaseDeps.java | 14 ++++---- pom.xml | 8 +---- 14 files changed, 83 insertions(+), 103 deletions(-) diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml index c7d52a6..916eb7e 100644 --- a/enforcer-rules/pom.xml +++ b/enforcer-rules/pom.xml @@ -100,16 +100,6 @@ </exclusions> </dependency> <dependency> - <groupId>org.apache.maven.resolver</groupId> - <artifactId>maven-resolver-util</artifactId> - </dependency> - <!-- needed for ArtifactCollector and maven-dependency-tree 2.2 --> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-compat</artifactId> - <scope>compile</scope> - </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 8a8a331..3f33852 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 @@ -22,9 +22,11 @@ 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.plugins.enforcer.utils.ArtifactUtils; 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; @@ -59,11 +61,11 @@ public abstract class AbstractBanDependencies throws EnforcerRuleException { - // get the project - MavenProject project = null; + // get the session + MavenSession session; try { - project = (MavenProject) helper.evaluate( "${project}" ); + session = (MavenSession) helper.evaluate( "${session}" ); } catch ( ExpressionEvaluationException eee ) { @@ -82,25 +84,15 @@ public abstract class AbstractBanDependencies try { - graphBuilder = (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class ); + graphBuilder = helper.getComponent( DependencyGraphBuilder.class ); } 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 ); - } + throw new EnforcerRuleException( "Unable to lookup DependencyGraphBuilder: ", e ); } // get the correct list of dependencies - Set<Artifact> dependencies = getDependenciesToCheck( project ); + Set<Artifact> dependencies = getDependenciesToCheck( session.getProjectBuildingRequest() ); // look for banned dependencies Set<Artifact> foundExcludes = checkDependencies( dependencies, helper.getLog() ); @@ -131,12 +123,12 @@ public abstract class AbstractBanDependencies return "Found Banned Dependency: " + artifact.getId() + System.lineSeparator(); } - protected Set<Artifact> getDependenciesToCheck( MavenProject project ) + protected Set<Artifact> getDependenciesToCheck( ProjectBuildingRequest request) { Set<Artifact> dependencies = null; try { - DependencyNode node = graphBuilder.buildDependencyGraph( project, null, reactorProjects ); + DependencyNode node = graphBuilder.buildDependencyGraph( request, null ); if ( searchTransitive ) { dependencies = ArtifactUtils.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 d307fda..df99ed7 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,8 +26,8 @@ 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; import org.apache.maven.shared.dependency.graph.DependencyNode; import org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuilder; @@ -157,9 +157,9 @@ public class BanTransitiveDependencies try { - MavenProject project = (MavenProject) helper.evaluate( "${project}" ); - List<MavenProject> reactorProjects = (List<MavenProject>) helper.evaluate( "${reactorProjects}" ); - rootNode = createDependencyGraphBuilder().buildDependencyGraph( project, null, reactorProjects ); + 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/BannedPlugins.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java index 03201fd..dd4c397 100644 --- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java +++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java @@ -33,7 +33,7 @@ public class BannedPlugins extends BannedDependencies { @Override - protected Set<Artifact> getDependenciesToCheck( MavenProject project ) + protected Set<Artifact> getDependencies( MavenProject project ) { return project.getPluginArtifacts(); } 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 1632ae0..0bbf3fd 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 @@ -19,27 +19,26 @@ package org.apache.maven.plugins.enforcer; * under the License. */ -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -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.DefaultProjectBuildingRequest; 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.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; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + /** * @author <a href="mailto:[email protected]">Rex Hoffman</a> */ @@ -58,7 +57,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. * @@ -73,21 +72,19 @@ public class DependencyConvergence try { MavenProject project = (MavenProject) helper.evaluate( "${project}" ); - DependencyTreeBuilder dependencyTreeBuilder = helper.getComponent( DependencyTreeBuilder.class ); - ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" ); - ArtifactFactory factory = helper.getComponent( ArtifactFactory.class ); - ArtifactMetadataSource metadataSource = helper.getComponent( ArtifactMetadataSource.class ); - ArtifactCollector collector = helper.getComponent( ArtifactCollector.class ); - ArtifactFilter filter = null; // we need to evaluate all scopes - DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, repository, factory, - metadataSource, filter, collector ); - return node; + MavenSession session = (MavenSession) helper.evaluate( "${session}" ); + + ProjectBuildingRequest request = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() ); + request.setProject( project ); + DependencyGraphBuilder dependencyTreeBuilder = helper.getComponent( DependencyGraphBuilder.class ); + // we need to evaluate all scopes + return dependencyTreeBuilder.buildDependencyGraph(request, null ); } catch ( ExpressionEvaluationException | ComponentLookupException e ) { 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 8f26a5e..5609166 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 @@ -36,7 +36,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; @@ -68,6 +67,8 @@ import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluatio import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.sonatype.aether.impl.ArtifactResolver; +import org.sonatype.aether.resolution.ArtifactRequest; /** * This rule will enforce that all plugins specified in the poms have a version declared. @@ -160,10 +161,10 @@ public class RequirePluginVersions private Collection<Lifecycle> lifecycles; /** The factory. */ - private ArtifactFactory factory; + ArtifactFactory factory; /** The resolver. */ - private ArtifactResolver resolver; + ArtifactResolver resolver; /** The local. */ private ArtifactRepository local; @@ -524,7 +525,8 @@ public class RequirePluginVersions try { - this.resolver.resolve( artifact, pluginRepositories, this.local ); + this.resolver.resolveArtifact( session, request ); + //esolve( artifact, pluginRepositories, this.local ); plugin.setVersion( artifact.getVersion() ); } catch ( ArtifactResolutionException | ArtifactNotFoundException e ) 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 176bf7c..cf69d5f 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,23 +26,21 @@ 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.DefaultProjectBuildingRequest; 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.utils.logging.MessageUtils; +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; +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; @@ -109,7 +107,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. * @@ -123,17 +121,14 @@ public class RequireUpperBoundDeps { try { + MavenSession session = (MavenSession) helper.evaluate( "${session}" ); MavenProject project = (MavenProject) helper.evaluate( "${project}" ); - DependencyTreeBuilder dependencyTreeBuilder = helper.getComponent( DependencyTreeBuilder.class ); - ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" ); - ArtifactFactory factory = helper.getComponent( ArtifactFactory.class ); - ArtifactMetadataSource metadataSource = helper.getComponent( ArtifactMetadataSource.class ); - ArtifactCollector collector = helper.getComponent( ArtifactCollector.class ); - ArtifactFilter filter = null; // we need to evaluate all scopes - DependencyNode node = - dependencyTreeBuilder.buildDependencyTree( project, repository, factory, metadataSource, filter, - collector ); - return node; + ProjectBuildingRequest request = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() ); + request.setProject( project ); + + DependencyGraphBuilder dependencyTreeBuilder = helper.getComponent( DependencyGraphBuilder.class ); + // we need to evaluate all scopes + return dependencyTreeBuilder.buildDependencyGraph(request, null ); } catch ( ExpressionEvaluationException e ) { @@ -143,7 +138,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 b280760..fa65546 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 00b56b4..51660f0 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. @@ -40,6 +40,9 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti public class EnforcerRuleUtils { + /** The factory. */ + ArtifactFactory factory; + /** The resolver. */ ArtifactResolver resolver; 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 6d13ce3..b363756 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 { @@ -90,17 +91,17 @@ public class BannedDependenciesTestSetup private BannedDependencies newBannedDependenciesRule() { - BannedDependencies rule = new BannedDependencies() + return new BannedDependencies() { @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(); } }; - return rule; } 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 5a4f086..9be22c3 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 @@ -41,6 +41,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.apache.maven.shared.dependency.tree.DefaultDependencyTreeBuilder; import org.apache.maven.shared.dependency.tree.DependencyNode; @@ -73,9 +74,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, null, mer, meresult ); } @@ -122,6 +123,8 @@ public final class EnforcerTestUtils public static EnforcerRuleHelper getHelper( MavenProject project, boolean mockExpression ) { MavenSession session = getMavenSession(); + session.getProjectBuildingRequest().setProject( project ); + ExpressionEvaluator eval; if ( mockExpression ) { @@ -176,6 +179,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/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; 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(); diff --git a/pom.xml b/pom.xml index e41bd86..d6e48ad 100644 --- a/pom.xml +++ b/pom.xml @@ -105,12 +105,6 @@ <version>${maven.version}</version> </dependency> <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-compat</artifactId> - <version>${maven.version}</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-common-artifact-filters</artifactId> <version>3.2.0</version> @@ -161,7 +155,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.apache.maven.resolver</groupId>
