Specify rosidl version dependency in CMake#851
Conversation
Signed-off-by: Ryan Friedman <ryan.friedman@avinc.com>
9011ad7 to
2feec38
Compare
fujitatomoya
left a comment
There was a problem hiding this comment.
out of curiosity.
Jazzy accidentally pulling in humble packages due to docker cache issues cause us a world of hurt
how come this could happen? Jazzy is for Noble, and Humble is for Jammy, this can be managed under ubuntu codename via apt-repository?
on the same ubuntu codename, we can see the same packages with different distro. (for example, ros-humble-demo-nodes-cpp, ros-iron-demo-nodes-cpp and ros-rolling-demo-nodes-cpp)
|
As I mentioned, there's two ways this happens. Docker caching done poorly, or vcs failing to update image tags. It's a pretty regular occurrence for me working on a mixed distribution product team and frequently needing to switch environments with flaky development workflows. Anything that can be done that makes problems like this immediately obvious is extremely helpful. It's exacerbated in ROSIDL because we have a few forks from unmerged ROSIDL features. This has no negative effect on current users, and only a slight increase in maintenance, however a large potential benefit for people like me. |
|
Would using version constraints in |
|
No, if you have a different version installed than required by rosdep, and only run colcon build, it won't be caught by colcon/CMake. |
Also, are these even implemented yet? |
|
I think they are implemented in |
Avoid annoying issues when you accidentally mix up versions of ROS 2. Jazzy accidentally pulling in humble packages due to docker cache issues cause us a world of hurt when rosidl is built with mixed distros. This is also common when working in vcs and one of the repos fails to switch branches without you noticing.
A trivial change like this allows us to catch it at configure time.
Sponsored by AeroVironment, Inc.