plugins: add colcon plugin
Metadata
Current evaluation
Merged the colcon plugin for ROS2 builds, resolving LP: #1805213. Added as a beta feature, the change was approved by two reviewers, passed CI with 100% diff coverage, and introduced 2120 lines across 16 files.
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 tests/unit`?
-----
The newest ROS2 releases introduced a new build system called `colcon`. This PR resolves [LP: #1805213](https://bugs.launchpad.net/snapcraft/+bug/1805213) by adding a new plugin to support it. It leaves it in beta for now until it gets some mileage.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged the colcon plugin for ROS2 builds, resolving LP: #1805213. Added as a beta feature, the change was approved by two reviewers, passed CI with 100% diff coverage, and introduced 2120 lines across 16 files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a new colcon plugin for ROS2 builds, resolving LP: #1805213. Released as beta, it passed all unit tests and increased overall code coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the colcon plugin for ROS2 builds, resolving LP #1805213. The feature is marked as beta and passed all unit tests and code coverage checks. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3566 ROS 2 plugins v2 misc fixes | snapcraft | merged | Merged after resolving conflicts and passing CI. Fixes ROS 2 plugins v2 by updating the colcon install path, resolving local packages during staging by removing the COLCON_IGNORE marker, and adding spread tests. | |
| #3994 core22 colcon plugin: re-source environment after installation | snapcraft | merged | Merged fix for core22 colcon plugin that re-sources ROS 2 environment post-installation to resolve custom interface build failures. Added spread tests and package state restoration. Approved by two reviewers and merged. | |
| #3097 colcon v2 plugin + ros2 extension | snapcraft | closed | Closed without merging. The colcon v2 plugin and ros2 extension request remained in pending review with 50 unresolved comments and no CI checks, indicating it was abandoned. | |
| #2835 colcon plugin: support ROS 2 Eloquent | snapcraft | merged | Merged after adding ROS 2 Eloquent Elusor support to the colcon plugin. Approved by two reviewers, passed CI checks, and updated two files with minimal changes. | |
| #2593 colcon plugin: add support for dashing | snapcraft | merged | Added ROS 2 Dashing support to the colcon plugin. Merged after reviewer approval, passing CI checks, and achieving 100% diff coverage across 7 modified files. | |
| #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. | |
| #3095 plugins: break out rosdep resolve parsing for external use | snapcraft | merged | Merged. Extracted rosdep resolve parsing logic for external use by the colcon v2 plugin. Approved by one reviewer, passed CI checks, and modified one file (+34/-27). | |
| #3203 experimental ros2 extension & colcon v2 plugin | snapcraft | merged | Merged experimental ROS2 extension and colcon v2 plugin. Rebased and approved to enable Foxy support. Integrated into master with 790 lines added across 16 files. | |
| #3638 colcon v2: forward cmake args | snapcraft | merged | Merged a fix ensuring colcon-cmake-args are forwarded to the build command in the Colcon v2 plugin. Approved by reviewer, passed CI, and achieved 100% diff coverage. | |
| #1805213 Support the new ros2 build tool colcon | snapcraft (launchpad) | closed | Closed without resolution. The request to deprecate the ament plugin and implement colcon support for ROS2 was abandoned due to prolonged inactivity. No code changes or merges were made. |