Skip to content

Conversation

@nuclearsandwich
Copy link
Contributor

The ROS_PYTHON_VERSION conditional is referenced in REP-149 as a standard mechanism for determining the python major version used within a ROS workspace. For most ROS tools, package conditions can be taken from the local environment but Bloom has a different role: generating platform specific release information from a developer's workstation which may not match the targeted platforms. As with #519, bloom does not take package conditions from the local environment but instead from the distribution configuration. To support this both here and in other tools, REP-153 was amended (see ros-infrastructure/rep#207) to include a python_version field in the distribution information. Bloom now uses this to provide ROS_PYTHON_VERSION as a package condition.

Support for arbitrary package conditions is not introduced in this PR. Some discussion has been made of embedding a dict of conditions into the tracks.yaml file bloom uses to configure release tracks but some refactoring is required to wire that through and I'd rather wait until we have #539 merged to take that on.

This feature will cause interruptions for bloom users whose version 4
rosdistro indexes lack this field. But I think this is preferred to a
silent or even vocal acceptance of a possibly invalid release state due
to missing conditional variables.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants