dub
dub copied to clipboard
Replace `Dependency.merge(Dependency)` with `Dependency.matches(Dependency)`
@kinke @Geod24 What's the status of this PR?
Looks pretty good to me, was waiting until @kinke takes it out of draft, but the idea is sound.
TODO:
- Decide whether to keep the old
.merge()(for potential API users - reggae doesn't need it AFAICT) - Decide if treating all paths as equivalent is good enough for now (we get a bunch of new warnings at Symmetry with dub master regarding
../pkg1vs.../../pkg1etc., which would be eliminated by doing so) - Decide if the changed priorities (path-based dominating repos) are a benign 'breaking' change
- Look into the unittest failure wrt.
1.0.0not matching>=1.0.0 <2.0.0, though not really related to this PR - Decide how to handle 2 actual VersionRanges, i.e., whether a non-empty intersection is good enough, or whether the lhs should be guaranteed to be a single version (the selected version). This requires looking into how
DependencyResolver.matches()is used (WTF areconfigsandconfig).