You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, what we don't properly handle is ROS_VERSION— this is done in a handful of chimera-type repos, where a single codebase supports both ROS 1 and 2, such as PlotJuggler:
The consequence of the current state of affairs is that when generating workspaces, Nix definitions, whatever which include a package like this, a bunch of dependencies from other-ROS show up as warnings about unresolved rosdeps.
The three main possibilities for how to better handle this are:
Add an additional field to the repo_states table so that it stores PlotJuggler/8c1ae51dfe966faa4af9c69b5284a7613e6c83f9 in ROS 1 mode as a separate entity from that same version in ROS 2 mode. This could just be called ros_version, but it would be nice to figure out how to generalize it since very little else in colcon-distro is presently ROS-specific. In the extreme, this could be a whole table of potential "contexts" that the repo_states entries could key into.
Switch to caching the whole package.xml file (where available), and generate PackageDescriptor objects at request time— this way any contextual information about the distribution will be known.
The text was updated successfully, but these errors were encountered:
Currently we handle the condition for
ROS_PYTHON_VERSION
via setting a distro-specific python value in the config toml:colcon-distro/colcon_distro/config.py
Line 24 in e4f4a4a
However, what we don't properly handle is
ROS_VERSION
— this is done in a handful of chimera-type repos, where a single codebase supports both ROS 1 and 2, such as PlotJuggler:https://github.com/facontidavide/PlotJuggler/blob/8c1ae51dfe966faa4af9c69b5284a7613e6c83f9/package.xml#L14-L22
The consequence of the current state of affairs is that when generating workspaces, Nix definitions, whatever which include a package like this, a bunch of dependencies from other-ROS show up as warnings about unresolved rosdeps.
The three main possibilities for how to better handle this are:
repo_states
table so that it stores PlotJuggler/8c1ae51dfe966faa4af9c69b5284a7613e6c83f9 in ROS 1 mode as a separate entity from that same version in ROS 2 mode. This could just be calledros_version
, but it would be nice to figure out how to generalize it since very little else in colcon-distro is presently ROS-specific. In the extreme, this could be a whole table of potential "contexts" that therepo_states
entries could key into.package.xml
file (where available), and generate PackageDescriptor objects at request time— this way any contextual information about the distribution will be known.The text was updated successfully, but these errors were encountered: