← Back to issue list

catkin plugin: nicely handle an invalid rosdistro.

View original Github issue

Metadata

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

Current evaluation

Merged changes add rosdistro validation to the catkin plugin, replacing cryptic key errors with clear messages. Approved by reviewers and passed CI. Minor refactoring feedback was noted but did not block the merge.

Suggested action:

No scores available.

Issue body

This PR fixes LP: [#1629957](https://bugs.launchpad.net/snapcraft/+bug/1629957) by verifying that the rosdistro is valid when creating the plugin, and providing a helpful error message if not. Without this PR, if one requests an invalid rosdistro, snapcraft dies with an unfriendly key error.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged changes add rosdistro validation to the catkin plugin, replacing cryptic key errors with clear messages. Approved by reviewers and passed CI. Minor refactoring feedback was noted but did not block the merge.
qwen3.6-35b-a3b-mtp-q6 Merged rosdistro validation for the catkin plugin, replacing cryptic KeyErrors with clear error messages and resolving Launchpad bug #1629957. Reviewers approved the fix, suggesting a future refactor to move helper functions to a dedicated formatting module.
qwen3.6-35b-a3b-mtp-q6 Merged. Validates rosdistro in the catkin plugin, replacing cryptic KeyErrors with clear messages. Reviewers approved but suggested moving the humanize_list helper out of common.py into a dedicated formatting module.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#850 catkin plugin: add `rosdistro` to help documentation. snapcraft merged Merged documentation update for the catkin plugin adding the rosdistro parameter to snapcraft help catkin output, resolving Launchpad bug 1629955. Approved by one reviewer with three lines added.
78%
#2576 [legacy] catkin plugin: remove default rosdistro snapcraft merged Merged. Removes the EOL Indigo default from the catkin plugin to prevent build failures. Users must now explicitly specify a ROS distribution, resolving LP: #1830784 and ensuring predictable future behavior.
76%
#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.
74%
#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.
74%
#163 Catkin plugin: use rosdep for dependency resolution snapcraft merged 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.
74%
#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.
72%
#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.
72%
#1130 catkin plugin: produce build-ready staging area. snapcraft merged Merged update to the Catkin plugin generating a build-ready staging area by adjusting ROS files post-build, resolving LP #1663385. Approved, passed CI, and modified two files to prevent future parts from referencing the old install directory.
72%
#1472 catkin plugin: include-roscore is a boolean snapcraft merged Merged a fix replacing the string 'true' with boolean True in the catkin plugin. Corrects an incorrect type and improves code examples without functional impact. Approved by two reviewers.
71%
#1367 catkin plugin: add support for ROS Lunar snapcraft merged Merged the catkin plugin update to support ROS Lunar alongside Indigo, Jade, and Kinetic. CI initially failed due to a Launchpad bug, resolved by adding lsb-release to build-packages. Approved and merged after passing integration tests.
71%