GH-938: Revert offloading project dependency resolution#939
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #939 +/- ##
==========================================
- Coverage 92.89% 92.73% -0.15%
==========================================
Files 71 71
Lines 2010 2008 -2
Branches 132 131 -1
==========================================
- Hits 1867 1862 -5
- Misses 103 108 +5
+ Partials 40 38 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
68e71bc to
7ce7c59
Compare
Changes the project dependency resolution to remove a hard requirement on resolving the project dependencies before plugin execution, which can cause some issues with the project reactor being incomplete as mentioned in GH-938. This change at least allows users to opt out of project dependency resolution entirely using the <includeProjectDependences/> attribute. We may need to keep an eye that GH-596 does not manifest itself again though, as this was creating heap exhaustion failures for some users, although I was never able to fully reproduce this on my side when this was last reported. It may still be a red herring.
Integrate some additional traversers Maven appears to use under the hood to reduce the risk of heap memory exhaustion. Seems to relate to avoiding recursive traversal of fat artifacts that should be considered flat, as well as avoiding test dependencies that are transitively available.
7ce7c59 to
cb6902b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes the project dependency resolution to remove a hard requirement on resolving the project dependencies before plugin execution, which can cause some issues with the project reactor being incomplete as mentioned in GH-938. This change at least allows users to opt out of project dependency resolution entirely using the attribute.
We may need to keep an eye that GH-596 does not manifest itself again though, as this was creating heap exhaustion failures for some users, although I was never able to fully reproduce this on my side when this was last reported. It may still be a red herring.GH-596 did re-manifest itself in this change but additional changes to the default dependency traverser have been made that appear to address the original problem. This seems to be related to transitive test dependencies or fat dependencies being traversed when they should be treated as terminal dependencies, just like Maven does internally.Fixes GH-938