iTop
iTop copied to clipboard
(FAF149) Module dependency computation enhancement
This PR brings few optimizations in dependency computation. It also enhances iTop feedback when there are module dependency issues: modules with less missing dependencies are printed first.
Usually modules dependencie issues are due to one missing module. it is hard to find it out when unresolved cascading dependencies are displayed in a "random" order.
Example (BEFORE)
Error: The following modules have unmet dependencies:
Combodo XXX(id: combodo-xxx/1.0.5) depends on: ❌ combodo-www/1.0.0 + ❌ itop-yyy/1.0.8+✅ combodo-zzz/1.0.0,
iTop XXX(id: itop-yyy/1.0.8) depends on: ❌ itop-xxx/0.0.1+ ✅ itop-zzz/1.0.1,
...
Example (with PR enhancement): Now iTop XXX will come first.
iTop XXX(id: itop-yyy/1.0.8) depends on: ❌ itop-xxx/0.0.1+ ✅ itop-zzz/1.0.1,
Combodo XXX(id: combodo-xxx/1.0.5) depends on: ❌ combodo-www/1.0.0 + ❌ itop-yyy/1.0.8+✅ combodo-zzz/1.0.0,
...