Features with multiple module dependencies are not correctly added to the dependency graph
Bug Report
Summary and Bug Description
If a module adds a feature with multiple dependent modules, this is not correctly recognized when building the dependency tree, resulting in a wrong order in the flattened dependency chain. This is for example the case in the h2t/PriorKnowledgeData module and results in i.e. #185 (closed)
Current Behavior
axii w info for my current workspace give the build order as:
... simox -> affordance-kit -> simox-cgal -> semantic-object-relations -> dmp -> armarx/ArmarXCore -> h2t/PriorKnowledgeData -> armarx/ArmarXGui -> armarx/RobotAPI -> armarx/MemoryX -> armarx/VisionX -> research/failure_prediction -> armarx/RobotComponents -> armarx/skills/localization_and_mapping -> armarx/ArmarXSimulation -> armarx/RobotSkillTemplates -> research/active_vision -> armarx/Spoac -> armarx/SpeechX -> ...
Even though armarx/RobotAPI, armarx/VisionX and IVT and deps/cgal are present in the workspace, the feature is not correctly recognized and the build order is not adapted correctly.
Expected Behavior
As all the modules for the feature are available in the workspace, h2t/PriorKnowledgeData should be built after armarx/VisionX.
Steps to Reproduce
Create a workspace that has at least the modules armarx/RobotAPI, armarx/VisionX, IVT, deps/cgal and h2t/PriorKnowledgeData without explicitly requesting PKDs feature components.
Diagnosis
Output of axii self report
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Scope ┃ Info ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Axii │ Axii 23.01.2.0 @main-3 with shell integration │
│ OS │ Ubuntu 18.04.6 LTS │
│ Kernel │ Linux 5.4.0-136-generic #153~18.04.1-Ubuntu SMP Wed Nov 30 15:47:57 │
│ │ UTC 2022 x86_64 GNU/Linux │
│ Shell │ /usr/bin/zsh │
│ Python │ Python 3.6.9 │
│ Pip │ attrs==22.1.0, certifi==2021.10.8, charset-normalizer==2.0.7, │
│ │ click==8.0.0, colorama==0.4.4, commonmark==0.9.1, cycler==0.11.0, │
│ │ dataclasses==0.8, dbus-python==1.2.18, decorator==5.1.0, │
│ │ distro==1.7.0, docutils==0.17.1, gitdb==4.0.9, GitPython==3.1.18, │
│ │ idna==3.3, igraph==0.9.11, importlib-metadata==4.8.3, │
│ │ iniconfig==1.1.1, kiwisolver==1.3.1, matplotlib==3.3.0, │
│ │ networkx==2.5, notify2==0.3.1, numpy==1.19.0, packaging==21.3, │
│ │ Pillow==8.4.0, pkg_resources==0.0.0, pluggy==1.0.0, psutil==5.9.4, │
│ │ py==1.11.0, Pygments==2.10.0, pygraphviz==1.6, pyparsing==3.0.6, │
│ │ PyQt5==5.15.0, PyQt5-sip==12.9.0, pytest==7.0.1, │
│ │ python-dateutil==2.8.2, python-igraph==0.9.11, │
│ │ python-Levenshtein==0.12.2, requests==2.26.0, rich==12.6.0, │
│ │ rich-click==1.2.1, six==1.16.0, smmap==5.0.0, texttable==1.6.4, │
│ │ thefuzz==0.19.0, tomli==1.2.3, typing_extensions==4.1.1, │
│ │ urllib3==1.26.7, xdg==5.1.1, zeroc-ice==3.7.0, zipp==3.6.0 │
└────────┴─────────────────────────────────────────────────────────────────────┘