Hi,

After encountering the issue in
https://issues.apache.org/jira/browse/MSHADE-148 (version 3.3.0 of the
shade plugin and 3.6.0 of Maven)  I ended up in a long debugging session
trying to reproduce the scenario.

What I found is that in ShadeMojo.java
(rewriteDependencyReducedPomIfWeHaveReduction)


ProjectBuildingRequest projectBuildingRequest =

new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );


will return a different project than the one that is currently processed by
the shading plugin when executing maven with --threads.

updateExcludesInDeps will build a dependency graph on one project but the
exclusions will be added to a different project.

We end up in an infinite loop in
rewriteDependencyReducedPomIfWeHaveReduction since the same exclusions will
be added over and over again.


How is session.getProjectBuildingRequest() supposed to work in parallel
builds?

Is this by design, is the shade plugin using it wrong or is it a bug in
maven-core?


Thanks in advance!

Emma Holmberg Ohlsson

Reply via email to