colcon / colcon-core

Command line tool to build sets of software packages
http://colcon.readthedocs.io
Apache License 2.0
99 stars 44 forks source link

Support complex recursive dependency category specification #646

Closed cottsay closed 1 month ago

cottsay commented 2 months ago

When computing the dependency graph, the existing API exposes a parameter for indicating which direct dependency categories to collect as well as what indirect (recursive) dependency categories to collect.

This change allows the caller to specify different recursive dependency categories depending on which category included the dependency in the graph to begin with.

Eventually, this enhancement can be leveraged as part of the "dependency narrowing" effort to drop build-only dependencies from a chain where only runtime dependencies are specified.

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 90.90909% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 83.25%. Comparing base (db84706) to head (25e73e7).

Files Patch % Lines
colcon_core/package_descriptor.py 90.90% 0 Missing and 1 partial :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #646 +/- ## ========================================== + Coverage 83.23% 83.25% +0.01% ========================================== Files 66 66 Lines 3842 3852 +10 Branches 758 762 +4 ========================================== + Hits 3198 3207 +9 Misses 556 556 - Partials 88 89 +1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.