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 │
└────────┴─────────────────────────────────────────────────────────────────────┘