Improve list_local to ensure that the list is topologically sorted
- Dominant language
- Python
- Stars
- 14
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Right now the `list_local` function just puts out one level deep list of unsorted dependencies of the current component. The primary use of this is to perform recursive builds where `iotile build` on a single component triggers `iotile build` on its locally installed dependencies first so that they are built before they're needed. However if those dependencies themselves have an ordering requirement or if they have second level dependencies that are not direct dependencies of the main component, we don't capture that.
So, we should improve the list_local function to actually build a recursive dependency tree and then flatten it into a single topologically sorted list so that if you go down the list from beginning to end and call `iotile build` all dependencies will be taken care of.
Contributor guide
Assessment
This issue has not been assessed yet.