Dave Wichers created MPIR-430:
---------------------------------

             Summary: Dependency Convergence calculation should ignore 
'provided' direct and transitive dependencies
                 Key: MPIR-430
                 URL: https://issues.apache.org/jira/browse/MPIR-430
             Project: Maven Project Info Reports Plugin
          Issue Type: Bug
          Components: dependency-convergence
    Affects Versions: 3.4.2
            Reporter: Dave Wichers


If a direct or transitive dependency is 'provided', then excluding it has no 
affect I believe. As an example, this other Apache project: 
[https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html] - 
when it calculates enforcement of dependency convergence, it already ignores 
'provided' dependencies.  I have a project I'm supporting called ESAPI, and if 
you look at its pom here: 
[https://github.com/ESAPI/esapi-java-legacy/blob/develop/pom.xml#L165,] you'll 
see this pom excludes a dependency for the 'provided' dependency 
javax.servlet.jsp-api.   The project does this to get 100% convergence for the 
MPIR convergence report even though 'excluding' this transitive dependency has 
no actual affect.

When I drop this exclusion, the 100% convergence requirement enforced by the 
maven enforcer plugin per: 
[https://github.com/ESAPI/esapi-java-legacy/blob/develop/pom.xml#570] still 
passes.

There is also a 'provided' transitive dependency of a real dependency here that 
we have to exclude: 
[https://github.com/ESAPI/esapi-java-legacy/blob/develop/pom.xml#189] (the 
xml-api exclusion).

These two exclusions are really unnecessary.

Can you enhance the dependency convergence calculations of the MPIR plugin to 
ignore all direct or transitive 'provided' dependencies to match the behavior 
of the Maven Enforcer Plugin?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to