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