← Back to issue list

rosdep: add support for multiple dependency types

View original Github issue

Metadata

Project
snapcraft
Number
#1479
Type
pull request
State
merged
Author
kyrofa
Labels
Created
Updated
Closed

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.
82%
#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.
76%
#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.
76%
#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.
74%
#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.
72%
#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.
72%
#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.
71%