← Back to issue list

Catkin plugin: use rosdep for dependency resolution

View original Github issue

Metadata

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

Current evaluation

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.

Suggested action:

No scores available.

Issue body

The Catkin plugin currently does its own dependency resolution via manually parsing each package.xml. It makes some naive assumptions while doing so, and a tool already exists in ROS for doing this: rosdep. This PR gets rid of the manual parsing in favor of rosdep.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b 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.
qwen3.6-35b-a3b-mtp-q6 Merged after replacing manual package.xml parsing in the Catkin plugin with rosdep for dependency resolution. Test feedback was addressed, and variable naming improvements were deferred to a future refactor.
qwen3.6-35b-a3b-mtp-q6 Merged. Replaced manual package.xml parsing with rosdep for dependency resolution in the Catkin plugin. Approved after minor naming and test feedback, with the author noting future refactoring to address variable naming conventions.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#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.
82%
#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.
80%
#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.
78%
#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.
78%
#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.
77%
#1548404 Catkin plugin: Can't handle rosdep resolving to multiple packages snapcraft (launchpad) closed Closed without resolution. The Catkin plugin fails when rosdep returns multiple packages on a single line, treating it as one invalid name. The issue was abandoned due to zero comments and no proposed fix.
77%
#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.
76%
#1548406 Catkin plugin: Can't handle rosdep resolving to nothing snapcraft (launchpad) closed Closed without comments or resolution. The Catkin plugin issue regarding rosdep entries resolving to nothing was unaddressed, indicating the report was abandoned or resolved internally without a code change.
76%
#2585 catkin plugin: check workspace for dependencies snapcraft merged Merged. Resolves LP: #1832044 by updating the Catkin plugin to use rospack for workspace dependency resolution instead of relying solely on the rosdep index. Approved by reviewers and passed all CI checks.
75%
#842 Catkin plugin: Support ROS Kinetic. snapcraft merged Merged. Adds ROS Kinetic support to the Catkin plugin by refactoring source handling for extensibility and mapping ROS to Ubuntu releases. Fixed a fileutils coverage gap during review. Approved and merged.
75%