fix: define rules_python_internal earlier so Bazel 9 doesn't try to use PyInfo et al builtins #2485
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.
For Bazel 9 workspace builds, if
@rules_python_internal
isn't defined early enough,an earlier version of
@rules_python
gets defined and the logic to not use the builtinPyInfo et al symbols doesn't occur. Since Bazel 9 doesn't have these builtins, an error
occurs.
This seems to only happen if the main module is rules_python. The example workspaces don't
see to have an issue. I'm not sure why, but it seems similar to the behavior where
autoloading is disabled for specific repos, rules_python among them.
To fix, move the
@rules_python_internal
repo definition to be earlier in the WORKSPACEprocessing. With that repo defined, the conditional logic takes place, and things seem
to be happy.