rosdep: add support for multiple dependency types
Metadata
Current evaluation
Merged to add rosdep support for parsing multiple dependency types. The catkin plugin was updated to use the new API, currently limited to debs, laying groundwork for future pip dependency integration. Approved and passed CI.
Suggested action: —
No scores available.
Issue body
This PR makes progress on #1444 and LP: [#1683036](https://bugs.launchpad.net/snapcraft/+bug/1683036) by adding the ability for rosdep to parse multiple dependency types. It also updates the catkin plugin to support the new API, but it still only supports debs right now (it'll raise an exception if the dependency type is anything else). This is paving the way for support of pip dependencies coming from rosdep. Actually supporting this will require some experimentation, and of course, a design proposal.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged to add rosdep support for parsing multiple dependency types. The catkin plugin was updated to use the new API, currently limited to debs, laying groundwork for future pip dependency integration. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Enables rosdep to parse multiple dependency types and updates the catkin plugin to handle the new API, currently limited to debs. Lays groundwork for future pip dependency support. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds rosdep parsing for multiple dependency types and updates the catkin plugin to use the new API, currently limited to debs. This enables future pip dependency support pending further design. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1581 catkin plugin: support rosdep pip dependencies | snapcraft | merged | Merged implementation adding pip-based dependency support to the Catkin plugin's rosdep resolver, resolving Launchpad bug #1683036. Approved by one reviewer, passed CI, and modified 12 files. | |
| #163 Catkin plugin: use rosdep for dependency resolution | snapcraft | merged | Merged. Replaced manual package.xml parsing with rosdep for Catkin plugin dependency resolution. Reviewers approved the changes, with minor naming suggestions deferred to a future refactor. | |
| #331 Catkin plugin: Handle rosdep empty and multiple dependencies. | snapcraft | merged | Merged refactoring of the Catkin plugin rosdep resolver to handle empty results and multiple dependencies per line. Fixes Launchpad bugs #1548406 and #1548404. Approved by maintainer sergiusens. | |
| #1444 catkin pip support | snapcraft | closed | Catkin pip support was implemented via PRs #1479 and #1540. These changes updated rosdep parsing and extracted Python helpers, enabling the catkin plugin to install pip dependencies alongside debs. | |
| #183 Backport to 1.x: Catkin plugin: use rosdep for dependency resolution. | snapcraft | merged | Merged backport of #163 to the 1.x branch. The catkin plugin now uses rosdep for dependency resolution, updating three files with 547 additions and 147 deletions. | |
| #1683036 Catkin plugin doesn't support rosdep dependencies that resolve to pip | snapcraft (launchpad) | closed | Support for rosdep dependencies resolving to pip in the Catkin plugin was closed without implementation. The request appears abandoned, leaving pip resolution unsupported. | |
| #1392 catkin plugin: extract rosdep into new package | snapcraft | merged | Merged. Extracts rosdep from the catkin plugin into snapcraft.plugins.internal.pullers to enable future Ament and ROS 2 support. Updates plugin loading to ignore internal packages, resolving issue #1464. |