DUB - call to arms
drug
drug2004 at bk.ru
Wed Apr 17 16:27:11 UTC 2019
On 17.04.2019 19:03, H. S. Teoh wrote:
>>> If done correctly, dependency resolution is just a topological walk
>>> on a DAG. Get this right, and everything else falls into place.
>>
>> Yes, but therin lies the rub - "getting this right". AFAICT, Sonke
>> seems to have a very good grasp on dependency resolution via DAG (or
>> at least, certainly a far better grasp than I do). But yet, even his
>> algorithms in DUB, he needed to occasionally patch with
>> common-use-case short-circuiting logic (and I don't even know what
>> else) just to fix various seemingly-infinite-loop issues (not
>> technically infinite, but appeared to be to the user) that people were
>> still reporting some years into DUBs lifetime.
>>
>> 'Course, if it really is simpler than it seems to me (and *especially*
>> is it *isn't*), then I'd certainly be more than happy to delegate
>> dependency resolution out to somebody else.
>
> It would help if somebody can provide a concrete example of a complex
> dependency graph that requires anything more than a straightforward
> topological walk.
>
>
> T
>
Couple of years ago I've made an example -
https://github.com/drug007/dub-reduced-case
Now dub works in other way than that time but nevertheless.
Now it says:
```
drug at drug:/tmp/dub-reduced-case/rdpl$ dub build :inspector
Building package rdpl:inspector in /tmp/dub-reduced-case/rdpl/inspector/
Root package rdpl:core reference gfm:math ~>6.1.4 cannot be satisfied.
Packages causing the conflict:
rdpl:core depends on ~>6.1.4
timespatial depends on ~>6.0.0
timespatial depends on ~>6.0.0
timespatial depends on ~>6.0.0
```
shouldn't dub select gfm:math of version 6.1.4 here?
More information about the Digitalmars-d
mailing list