gnodet commented on issue #9172: URL: https://github.com/apache/maven/issues/9172#issuecomment-6274763079
Closing this issue as Won't Fix. The proposed fix in #13628 requires calling `repositorySystem.collectDependencies()` at graph-build time — a full transitive resolution including remote metadata fetches — for every project with external dependencies. This is incompatible with Maven's performance contract: the graph builder works from POM declarations only, without triggering artifact resolution. No alternative approach is acceptable here either: lazy resolution has edge cases with `-pl`, local-cache-only breaks cold builds silently, and post-resolution fixup produces confusing failures. **The correct solution is to declare the dependency explicitly in your POM.** If your project depends on an external library that transitively pulls in a reactor module, add a direct `<dependency>` on that reactor module. This makes the ordering constraint visible, keeps graph building O(direct deps), and is the right design — implicit transitive coupling through external libs should be made explicit in the POM. The graph builder builds from declared dependencies by design. -- 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]
