Add ROS_PYTHON_VERSION to dependency conditionals.#551
Merged
nuclearsandwich merged 5 commits intomasterfrom Oct 18, 2019
Merged
Add ROS_PYTHON_VERSION to dependency conditionals.#551nuclearsandwich merged 5 commits intomasterfrom
nuclearsandwich merged 5 commits intomasterfrom
Conversation
The python_version key is required to supply ROS_PYTHON_VERSION to conditional dependencies.
5674db0 to
fb19df8
Compare
cottsay
reviewed
Oct 11, 2019
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.
cottsay
approved these changes
Oct 18, 2019
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_versionfield 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.