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]
