Skip to content
This repository has been archived by the owner on Dec 10, 2024. It is now read-only.

Version of the ROS package might not be exactly the same that upstream Drake #16

Open
j-rivero opened this issue Mar 22, 2024 · 3 comments

Comments

@j-rivero
Copy link
Collaborator

Reviewing the situation with some other vendor packages inside ROS, their version (the version in package.xml and CMakeLists.txt) can be out of sync and cause confusion if at some point changes in the code of the vendor package (this same ros-drake-vendor repo) needs to be made.

To ship changes in this repository code we would need to somehow bump the version in any of its members (major, minor, patch). That would leave the versions out of sync with upstream Drake.

A possible workaround is to encode the major and minor to be fully in sync with upstream while playing with the patch part somehow to allow bumps while encoding the upstream patch info. See https://github.com/ros2/cartographer/blob/ros2/package.xml#L20-L41 about how the cartographer package makes this.

@jwnimmer-tri
Copy link
Contributor

Could we just add a fourth digit? For example 1.27.0.1 would be the Drake 1.27.0 with version .1 of this vendoring code.

@j-rivero
Copy link
Collaborator Author

Sorry forgot to mention it, the ROS schema is major.minor.patch. https://ros.org/reps/rep-0149.html#version

@tfoote
Copy link

tfoote commented Apr 1, 2024

The version tracking is useful but not strictly necessary. The alternative for keeping in sync is abusing the patch releases which can get packages into bad states. Or the other is to just clarify that this is the vendor package and the version refers to the vendoring only not the underlying library. I think that the approach from cartographer is probably a pretty good compromise.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants