catkin plugin: support building entire workspace
Metadata
Current evaluation
Merged #1743 in commit ec4cac26a, making catkin-packages optional so the Catkin plugin builds the entire workspace when omitted; this also resolves snapcraft#1713.
Resolution: closed resolved
Reason: PR #1743 was merged as commit ec4cac26a, implementing workspace-wide Catkin builds and closing the related request in #1713.
Evaluated by: mr-cal-bot
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 requires one to specify each and every Catkin package in the workspace that needs to be built and installed into the snap. This is a hindrance for larger projects, especially as oftentimes the entire workspace is needed.
This PR resolves LP: [#1721168](https://bugs.launchpad.net/snapcraft/+bug/1721168) (and #1713) by making the `catkin-packages` property optional. If it's not specified, simply build the entire workspace. Thus the only API change is making what was previously a required property optional, and assigning meaning to its absence.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #1743 in commit ec4cac26a, making catkin-packages optional so the Catkin plugin builds the entire workspace when omitted; this also resolves snapcraft#1713. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1743 (commit ec4cac26a) by kyrofa made catkin-packages optional: omitting it now builds the entire ROS workspace, closing LP bug #1721168 and GitHub issue #1713. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1743 (ec4cac26a): made catkin-packages optional, so the Catkin plugin builds the entire workspace when the property is omitted. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. The catkin-packages property is now optional. When omitted, the plugin builds the entire workspace. Resolves LP: #1721168. Approved by two reviewers with passing CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR making the catkin-packages property optional in the Catkin plugin. When omitted, the plugin builds the entire workspace, resolving Launchpad bug #1721168. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#1713
(confidence 100%)
The workspace-wide Catkin build request was implemented by PR #1743.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1721168 Catkin plugin: support building the entire workspace | snapcraft (launchpad) | closed | Implemented in snapcraft PR #1743 (commit ec4cac26a, "catkin plugin: support building entire workspace"), merged ~Nov 2017. catkin-packages became optional: omitting it builds the whole workspace, while an empty list still means no packages. | |
| #1713 catkin plugin: support for building all packages in a given workspace | snapcraft | closed | Implemented workspace-wide Catkin builds: omitting catkin-packages now builds every package. Merged in canonical/snapcraft#1743 via commit ec4cac26a. | |
| #2459 catkin plugin: describe how to build all packages | snapcraft | merged | Merged as commit 5f8c2061: adds the missing Catkin plugin doc blurb noting catkin-packages builds all workspace packages when unset, documenting the earlier LP: #1721168 fix (PR #1743, ec4cac26a). | |
| #2585 catkin plugin: check workspace for dependencies | snapcraft | merged | Merged PR #2585 (b88e37814) fixed Catkin builds by using rospack to enumerate workspace packages and exclude their internal dependencies from rosdep resolution; resolves LP #1832044. | |
| #175 Catkin plugin: Refactor build. | snapcraft | merged | Merged in snapcraft#175 via commit 9045874fd, refactoring Catkin environment, dependency handling, build logic, source-space support, and tests. | |
| #2847 Catkin plugin: consider only 'local' workspaces | snapcraft | merged | Merged PR #2847 (commit 1d476f622) sources ROS setup with --local, preventing destructive-mode Catkin builds from using host workspaces and skipping dependency installation. | |
| #1779 catkin-tools plugin: use stage-packages | snapcraft | merged | Merged #1779 (ebc4f2ce2): catkin-tools now uses stage-packages for clean-system builds, with a snapd-suite integration test. | |
| #1832044 Catkin plugin doesn't check the workspace for dependencies | snapcraft (launchpad) | closed | Catkin plugin failed on whole-workspace builds because rosdep (#685) couldn't resolve deps satisfied by in-workspace packages. Workaround merged in snapcraft PR #2585 (commit b88e37814); the workaround was later dropped in #2833 once rosdep was fixed upstream. | |
| #2545 catkin plugin: use build-packages for compilers | snapcraft | merged | Merged PR #2545 in commit ddb2d2627, replacing Catkin's side-loaded compiler workaround with required build-packages and fixing LP: #1827148 rebuild failures. | |
| #840 Catkin plugin: build with in-snap python. | snapcraft | merged | Merged #840 as 7f9fa3ac1, fixing LP #1628990 by using in-snap Python during Catkin builds and adding gcc, libc-dev, and make as build packages. |