From 35ad6b4fa1f8afff48c8fc0e4bf30ef740fb9bd6 Mon Sep 17 00:00:00 2001 From: Edwin Stang Date: Sat, 28 May 2022 14:50:32 +0200 Subject: [PATCH] [MENFORCER-402] - fix provided dependencies in RequireUpperBoundDeps --- .../apache/maven/plugins/enforcer/RequireUpperBoundDeps.java | 5 ++++- .../require-upper-bound-deps_failure_show_scopes/pom.xml | 2 +- .../verify.groovy | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) 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 4abfb91c..ba1ded6a 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 @@ -136,7 +136,10 @@ private DependencyNode getNode( EnforcerRuleHelper helper ) new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() ); buildingRequest.setProject( project ); buildingRequest.setLocalRepository( repository ); - ArtifactFilter filter = null; // we need to evaluate all scopes + ArtifactFilter filter = ( Artifact a ) -> ( "compile".equalsIgnoreCase( a.getScope () ) + || "runtime".equalsIgnoreCase( a.getScope () ) ) + && !a.isOptional(); + return dependencyCollectorBuilder.collectDependencyGraph( buildingRequest, filter ); } catch ( ExpressionEvaluationException e ) diff --git a/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/pom.xml b/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/pom.xml index ef8eddc6..6f2488f9 100644 --- a/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/pom.xml +++ b/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/pom.xml @@ -35,7 +35,7 @@ org.apache.maven.plugins.enforcer.its menforcer128_classic 0.9.9 - provided + compile diff --git a/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/verify.groovy index f916d09d..18eb75d9 100644 --- a/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/verify.groovy +++ b/maven-enforcer-plugin/src/it/projects/require-upper-bound-deps_failure_show_scopes/verify.groovy @@ -26,6 +26,6 @@ def message = ' +-org.apache.maven.plugins.enforcer.its:menforcer128_api:1.4.0 [runtime]'+LS+ 'and'+LS+ '+-org.apache.maven.plugins.enforcer.its:menforcer313:1.0-SNAPSHOT'+LS+ -' +-org.apache.maven.plugins.enforcer.its:menforcer128_classic:0.9.9 [provided]'+LS+ -' +-org.apache.maven.plugins.enforcer.its:menforcer128_api:1.5.0 [provided]'+LS +' +-org.apache.maven.plugins.enforcer.its:menforcer128_classic:0.9.9'+LS+ +' +-org.apache.maven.plugins.enforcer.its:menforcer128_api:1.5.0'+LS assert buildLog.text.contains( message )