← Back to issue list

catkin plugin: support recursive rosinstall files

View original Github issue

Metadata

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

Current evaluation

Merged. Introduces a recursive-rosinstall boolean option to the Catkin plugin, enabling automatic resolution of nested rosinstall files unsupported by wstool. Defaults to false. Resolves #1714 following successful review and CI checks.

Suggested action:

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- Currently, the Catkin plugin supports rosinstall files in that, if you hand it a list of rosinstall files in the source, it'll merge them into the workspace and fetch the repositories listed therein. However, what happens if _those_ repositories have rosinstall files of their own? This is not a situation wstool handles, and is something vendors script around. This PR resolves #1714 by adding explicit support in Snapcraft for this situation by way of a new boolean option: `recursive-rosinstall`. This option defaults to false (since that's typically how wstool behaves), but if it's true, it'll continue merging/updating the workspace with newly-fetched rosinstall files until no more are found.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Introduces a recursive-rosinstall boolean option to the Catkin plugin, enabling automatic resolution of nested rosinstall files unsupported by wstool. Defaults to false. Resolves #1714 following successful review and CI checks.
qwen3.6-35b-a3b-mtp-q6 Merged. Adds a recursive-rosinstall boolean option to Snapcraft's Catkin plugin, enabling recursive fetching and merging of nested rosinstall files to work around wstool limitations. Defaults to false.
qwen3.6-35b-a3b-mtp-q6 Merged. Adds a recursive-rosinstall boolean option to the Catkin plugin, enabling automatic fetching and merging of nested rosinstall files. Defaults to false to match wstool behavior. Resolves #1714.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1714 catkin plugin: recursively merge rosinstall files snapcraft closed The request to recursively merge rosinstall files in the catkin plugin was closed without implementation or discussion. The feature was not added and the issue appears abandoned.
79%
#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.
79%
#1927 catkin plugin: extract Wstool into its own module snapcraft merged Merged after resolving conflicts. Extracts Wstool from the catkin plugin into a standalone module to support recursive rosinstall file parsing. Approved by two reviewers with passing CI checks.
76%
#1473 catkin plugin: rosinstall-files is a pull property snapcraft merged Merged a maintainer correction updating the catkin plugin. The rosinstall-files property was incorrectly configured as a push property and has been changed to a pull property. Approved by two reviewers with a three-line fix across two files.
75%
#1715 catkin plugin: detect and gracefully handle rosinstall clashes snapcraft closed Rejected. Maintainer cancelled the feature because vendors do not require recursive rosinstall parsing or clash detection, and recursive fetching is already supported. Low demand and implementation complexity led to abandonment.
74%
#1533735 Catkin plugin: Support rosinstall files snapcraft (launchpad) closed Closed without implementation. The request to add rosinstall file support to the Catkin plugin was abandoned due to zero comments and prolonged inactivity.
73%
#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.
71%