extensions: support for content sharing for ROS
Metadata
Current evaluation
Merged Sept 14, 2023. Adds ROS content sharing support and snapcraft extensions for core20/22 and colcon/catkin. Rebased onto main and PR #4271, then squash-merged after dual approval. One test disabled due to conflicts.
Suggested action: —
No scores available.
Issue body
This PR introduces the support of content sharing for ROS together with a few extensions that make building a ROS content sharing snap seamless.
To that effect several snaps meant to distribute ROS through content-sharing were created and are available on the store (hidden, e.g. [`ros-foxy-ros-base`](https://snapcraft.io/ros-foxy-ros-base) & [`ros-foxy-ros-base-dev`](ros-foxy-ros-base-dev))
This PR is large as it concerns,
- core20 & 22 (ROS Noetic, Foxy, Humble)
- colcon, catkin, catkin-tools plugins
To note:
- requires the 'dev' snap providing the build-time material to execute a script listing all ROS packages it contains when it's built
- [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] Have you successfully run `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged Sept 14, 2023. Adds ROS content sharing support and snapcraft extensions for core20/22 and colcon/catkin. Rebased onto main and PR #4271, then squash-merged after dual approval. One test disabled due to conflicts. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged following maintainer approvals. Squash-merged after rebasing on main and PR #4271. Introduces ROS content sharing support and build extensions for core20/22, including colcon and catkin plugins. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged squash commit adding ROS content sharing extensions for core20/22 and colcon/catkin plugins. Rebased onto main and PR #4271. One validation test disabled due to conflicts. Approved and merged by maintainers on September 14, 2023. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1186 demos: add ROS content sharing demo | snapcraft | merged | Merged changes adding a ROS content sharing demo snap and automating the standalone ROS demo test, resolving Launchpad bug #1664776. Approved by one reviewer, modified 15 files, building upon PR #1140. | |
| #3750 Add core22 colcon plugin / ros2-humble extension | snapcraft | merged | Merged into main. Introduces the core22 colcon plugin and ros2-humble extension to Snapcraft. Approved by two reviewers, passed CI checks, and integrated with a minor test coverage decrease. | |
| #3988 extensions, ros: remove experimental flag | snapcraft | merged | Merged into main after approval and passing CI. Removes the SNAPCRAFT_ENABLE_EXPERIMENTAL_EXTENSIONS flag for ROS extensions, enabling stable snap builds without workarounds. Code coverage remains unchanged. | |
| #6139 fix: ros content sharing non upstream package 8 14 | snapcraft | merged | Merged a fix updating the ROS 2 plugin to handle non-upstream package dependencies and replace deprecated rospack with ros2 pkg. The changes supersede PR #6120, incorporate requested unit tests, and passed review and CI validation. |