Unification of self- and attribute- transitions #17848
Labels
P3
We're not considering working on this, but happy to review a PR. (No assignee)
team-Configurability
platforms, toolchains, cquery, select(), config transitions
type: feature request
Description of the feature request:
Several rulesets have gone to somewhat hacky lengths to work around limitations of self-transitions. For instance, rules_go switched from using self transitions to using edge transitions because self transitions don’t support configurable attributes, but this has significantly increased the complexity of rules_go (e.g. the go_binary rule now has to do a copy/symlink-executable-and-forward-providers hack, as implemented also by bazel-lib’s platform_transition_binary rule). Ideally in the cases that "this target needs to be transitioned", that could reliably be applied as a self transition, rather than sometimes needing to put in place an attribute transition with hacks.
One of the root cause problems here is #15157 but there are probably others .
What underlying problem are you trying to solve with this feature?
Being able to apply a transition binaries simply without needing to hackily add complexity to the rule implementations.
Which operating system are you running Bazel on?
No response
What is the output of
bazel info release
?No response
If
bazel info release
returnsdevelopment version
or(@non-git)
, tell us how you built Bazel.No response
What's the output of
git remote get-url origin; git rev-parse master; git rev-parse HEAD
?No response
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
No response
The text was updated successfully, but these errors were encountered: