Warn about transitive dependencies
This commit change the way how namcap handles dependencies to meet with our recent guideline to not rely on transitive dependencies, as they might break, if one of the dependencies is updated.
Previously, namcap warned about dependencies if they are included but already satisfied, even if these are transitive dependencies. From now, namcap will warn if a dependency is not explicitly specified, and won't show a warning if these are already satisfied by other dependencies.
This commit also simplifies and fixes various issues in the dependency handling logic, e.g.:
- Strip the version numbers when searching what provides a package, otherwise it doesn't match any.
- Remove some slow recursive dependency search. With the new logic we only need it in case of the explicitly specified dependencies.
- Always show at least an info message when a dependency satisfied. Useful to see which components need a library.
Merge request reports
Activity
I had another WIP branch for reporting transitive dependencies. Compared to this branch, it
- Drops recursive dependency resolution altogether
- Treats implicit transitive dependencies the same as missing dependencies, and thus they become errors instead of warnings.
I'm not sure if reporting such issues as errors will be confusing or not. This branch may be better.
- Resolved by Caleb Maclennan
added 13 commits
-
0e1fe1c5...c3eb177a - 12 commits from branch
pacman:master
- 2771841b - Warn about transitive dependencies
-
0e1fe1c5...c3eb177a - 12 commits from branch
enabled an automatic merge when the pipeline for 2771841b succeeds
added 4 commits
-
2771841b...4bbe56e4 - 3 commits from branch
pacman:master
- 0eae4544 - Warn about transitive dependencies
-
2771841b...4bbe56e4 - 3 commits from branch
added 1 commit
- 37c05449 - Update tests to follow changes in depends.py