Repository navigation
Conversation
Since `--experimental_rule_extension_api` was flipped to true in Bazel 8 (80d8e42), `initializer`, `parent` and `subrules` of `rule()` as well as `subrules` of `aspect()` are no longer restricted to an allowlist and rulesets such as rules_java rely on them. This also covers `extendable`, `ctx.super()` and the `Subrule` type, which belong to the same APIs. The `propagation_predicate` parameter of `aspect()` and passing functions to its `attr_aspects` and `toolchains_aspects` parameters aren't gated by any flag or allowlist either.
fmeum
marked this pull request as ready for review
October 28, 2026 09:42
meisterT
approved these changes
Oct 28, 2026
Collaborator
Author
|
@bazel-io fork 10.0.0 |
Collaborator
Author
|
@bazel-io fork 9.4.0 |
This was referenced Oct 28, 2026
iancha1992
pushed a commit
to iancha1992/bazel
that referenced
this pull request
Nov 3, 2026
…ect APIs (bazelbuild#32184) (bazelbuild#32360) ### Description Drops the "Experimental" label from the documentation of: * the rule extension APIs: `initializer`, `parent`, `extendable` and `subrules` of `rule()`, `subrules` of `aspect()`, `ctx.super()` and the `Subrule` type * the aspect propagation APIs: `propagation_predicate` of `aspect()` and passing functions to its `attr_aspects` and `toolchains_aspects` parameters Also fixes a few typos in the touched doc strings. ### Motivation The rule extension APIs are only allowlist-restricted when `--experimental_rule_extension_api` is false. That flag has defaulted to true in Bazel since 80d8e42 (Bazel 8). The aspect propagation APIs aren't gated by any flag or allowlist. The docs shouldn't present any of them as experimental anymore. ### Build API Changes No ### Checklist - [ ] I have added tests for the new use cases (if any). - [x] I have updated the documentation (if applicable). ### Release Notes RELNOTES: None Closes bazelbuild#32184 COPYBARA_INTEGRATE_REVIEW=bazelbuild#32184 from fmeum:ccr-1b457606-ibddgj 4eab7b5 PiperOrigin-RevId: 1012630346 Change-Id: I7248842cbb465408a9b88805512ee381ce83867f Commit bazelbuild@7caeb78 Co-authored-by: Fabian Meumertzheim <fabian@buildbuddy.io>
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.
Description
Drops the "Experimental" label from the documentation of:
initializer,parent,extendableandsubrulesofrule(),subrulesofaspect(),ctx.super()and theSubruletypepropagation_predicateofaspect()and passing functions to itsattr_aspectsandtoolchains_aspectsparametersAlso fixes a few typos in the touched doc strings.
Motivation
The rule extension APIs are only allowlist-restricted when
--experimental_rule_extension_apiis false. That flag has defaulted to true in Bazel since 80d8e42 (Bazel 8). The aspect propagation APIs aren't gated by any flag or allowlist. The docs shouldn't present any of them as experimental anymore.Build API Changes
No
Checklist
Release Notes
RELNOTES: None