-
-
Notifications
You must be signed in to change notification settings - Fork 594
fix(bzlmod): give precedence to the first seen versioned toolchain #1244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
rickeylev
merged 2 commits into
bazel-contrib:main
from
rickeylev:cleanup.toolchain.logic
Jun 3, 2023
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to raise an issue with this with bazel. These name conflicts are going to cause problems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For toolchains, they don't really need a user-provided name, so shouldn't have one. More generally speaking, it's not safe/reliable for a submodule to request a toolchain with settings that can't be encoded in the toolchain's constraint settings. The args for enabling coverage or ignoring the root user-thing are examples of this. (I think there might be one more, but can't recall atm).
This is why I keep beating the "remove the name arg (and others args)" drum as side-comments in PRs :). In rules_rust, for example, they don't have a name arg. In rules_go, they restrict who can use the name arg. We should follow suit, too (ignoring it works well enough for now).
For something like pip, it's a looming problem, because each pip resolution is likely unique. Fabian has a draft PR implementing an "isolated extension" feature, where you can mark an extension as "isolated", and then all the repos it creates are in its own namespace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless you can figure out some bazel magic we will need a name for the multiple python versions. Maybe we write out everything to a repo that has a standard name, rather than have different repos for each python version 🤷🏻♂️ we need to access :defs.bzl for the different python versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To clarify: It's just the user-selection of the repo names that is problematic. Our current repo layout for the toolchains is OK, and the defacto naming convention ("python_x_y") is also fine.