I finally finished up both the shallow and the deep dependency resolution for Sinan. This took a bit of time and effort to conceptualize, abstract and implement.

Now given a list of apps and the dependencies (along with the URL(s) of the repo); like this

 [{app1, "0.1", [{edoc, 'LATEST'},
  {syntax_tools, "1.5.0"}]}

It correctly returns a list of all the dependencies required for the project; like this

[{stdlib, "1.14.2",

If it runs into a version conflict, it reports the conflict and the applications are causing the problem.

In the output above. Each entry is a dependency, its version, and a list of apps that depend on that app. ⤧  Next post Topological Sort Joy ⤧  Previous post Released - Ktuo 0.1.1