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)