catkin plugin: extract rosdep into new package
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
This PR resolves #1464 by extracting rosdep out of the catkin plugin and placing it into `snapcraft.plugins.internal.pullers`. This is paving the way for support of Ament, ROS 2's build system, which also uses rosdep.
Fixes #1464
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Extracted rosdep from the catkin plugin into a new internal snapcraft.plugins.internal.pullers package to enable ROS 2 support. Updated plugin loading logic to handle internal packages and finalized the architectural changes. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Extracted rosdep from the catkin plugin into a new snapcraft.plugins.internal.pullers package to enable ROS 2 support. Updated plugin loading logic to automatically skip internal packages. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #1866718 Snapcraft ROS plugins should be using catkin_pkg instead of fetching all deps with rosdep | snapcraft (launchpad) | closed | Closed without implementation. The proposal to replace rosdep with catkin_pkg for precise dependency parsing in Snapcraft ROS plugins was abandoned due to lack of activity. | |
| #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. | |
| #1314 catkin plugin: add support for rosinstall files | snapcraft | merged | Merged. Introduces a rosinstall-files property to the Catkin plugin, allowing Snapcraft to manage ROS workspace dependencies. Approved by a reviewer and merged after resolving CI test delays. Resolves Launchpad bug 1533735. | |
| #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. | |
| #1583 ament plugin: new plugin | snapcraft | merged | Merged a new ROS2 Ament plugin for Snapcraft, resolving LP: #1686850. The PR bootstraps ROS2 and builds source packages. Test failures from ROS repository key errors and a rebase conflict were fixed prior to approval and merge. | |
| #2525 catkin plugin: check stage-snaps for ROS dependencies | snapcraft | merged | Merged to master. Updates the catkin plugin to check stage-snaps for ROS dependencies, preventing redundant fetching by treating them like underlays. Resolves Launchpad bug #1823788. Approved, passed CI, and merged. | |
| #152 Catkin plugin: Add support for ROS tools. | snapcraft | merged | Merged Catkin plugin updates to properly install ROS packages, include non-source files, and enable ROS tools via an updated wrapper environment. Resolved an xml2-config conflict while planning to remove the redundant roscore plugin. Tests doubled. | |
| #1479 rosdep: add support for multiple dependency types | snapcraft | merged | 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. | |
| #850 catkin plugin: add `rosdistro` to help documentation. | snapcraft | merged | Merged documentation update for the catkin plugin adding the rosdistro parameter to snapcraft help catkin output, resolving Launchpad bug 1629955. Approved by one reviewer with three lines added. |