-
Notifications
You must be signed in to change notification settings - Fork 137
Fixes regarding nearest/highest strategies and test #1565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
And some other cleanup
Example:
|
We have introduce new definitions as GACE / GACEV - what does ments, how to extends such shortcuts? |
Thr notion of "GAV" is well known, so is "GACEV" IMO. This basically parameterizes the new BF collector skipper, how to "key" artifacts (GACE - versionless, GACEV - versioned, full coordinates), as GACE (original code had that) is basically "premature optimization" assuming "nearest" version selection strategy is used (skipper will skip collecting artifact if same key match was already collected "higher" in graph -- hence presumption of nearest). In other words, if nearest used; no change needed. If highest, one need to set skipper as well (either to GACEV or disable it fully), as in demo code: |
So yes, configuration are "knobs" exposed to users, but users must know what is doing, which knob he wants to press and what are the consequences (or extra requirements) for that know. I do not want to make these configuration params inter-dependent, we can make it once in 2.1 or 3.0 (where feature would be interlocked with other feature and so on). |
Renaming skipper options to: "versionless" (default), "versioned" and "false" (to keep skipper off if someone configured it earlier; unchanged). |
...til/src/main/java/org/eclipse/aether/util/graph/transformer/ConfigurableVersionSelector.java
Outdated
Show resolved
Hide resolved
…h/transformer/ConfigurableVersionSelector.java
And some other cleanup. Fixed highest strategy (introduced in 2.0.0). Added UT with some examples to compare differences of behaviour of two strategies (nearest vs highest). And finally, there is some minor cleanup in demo snippets, better naming local reposes.
This PR now makes Resolver able to:
Fixes #1562
Fixes #1566