gnodet commented on issue #819:
URL: 
https://github.com/apache/maven-shade-plugin/issues/819#issuecomment-5075495791

   Filed a resolver-side issue for the underlying root cause: 
https://github.com/apache/maven-resolver/issues/2013
   
   The root cause is a cache-transparency violation in 
`BfDependencyCollector.doRecurse()`: the pool cache and the GACE skipper use 
different keys, and a pool cache miss exposes the node to the skipper in a way 
that a pool cache hit does not. Under Maven 4's `TransitiveDependencyManager` 
(which produces unique pool keys due to the `path` field in 
`equals`/`hashCode`), the pool misses where Maven 3.10's 
`ClassicDependencyManager` would hit, causing the skipper to mark the duplicate 
as "skipped" and the `ConflictResolver` to prune it.
   
   PR #820's workaround (`CONFIG_PROP_VERBOSE = STANDARD`) is correct and 
should be merged — it uses a stable, documented API to retain conflict-loser 
nodes that the shade plugin needs for exclusion computation. Even if the 
resolver-side issue is fixed, the verbose mode is semantically the right choice 
for a walk that needs complete transitive visibility.
   
   ---
   
   _This analysis was generated by an AI agent and may contain inaccuracies. 
Please verify before relying on it._


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to