Description
Enable the no_legacy_features feature in the Bazel C++ toolchain configuration to disable the automatic inclusion of Bazel's built-in legacy features.
By opting out of the default feature set, the toolchain will explicitly define only the features that are required. This provides greater control over the toolchain configuration, reduces implicit behavior, and makes future maintenance and upgrades more predictable.
As part of this change, any feature that is currently relied upon but was previously provided implicitly by Bazel must be identified and implemented explicitly in the toolchain configuration.
Motivation
- Eliminate implicit feature inclusion from Bazel.
- Make the toolchain configuration fully explicit and deterministic.
- Improve maintainability by clearly documenting which features are supported.
- Simplify future Bazel upgrades by avoiding dependencies on Bazel's legacy feature set.
Tasks
- Enable the
no_legacy_features feature in the toolchain configuration.
- Identify features that are currently provided implicitly by Bazel and are required by the project.
- Explicitly define the required features in the toolchain configuration.
- Verify that all supported build configurations continue to work as expected.
- Update toolchain documentation to reflect the new explicit feature management model.
Acceptance Criteria
no_legacy_features is enabled.
- The toolchain explicitly defines all required features.
- No required functionality depends on Bazel's implicit legacy features.
- All CI builds pass without regressions.
Expected Changes ot work products
Impact analysis
None
Safety or Security relevance
Expected required ASIL classification
QM
Expected Implementation Version (Release)
1.0
Description
Enable the
no_legacy_featuresfeature in the Bazel C++ toolchain configuration to disable the automatic inclusion of Bazel's built-in legacy features.By opting out of the default feature set, the toolchain will explicitly define only the features that are required. This provides greater control over the toolchain configuration, reduces implicit behavior, and makes future maintenance and upgrades more predictable.
As part of this change, any feature that is currently relied upon but was previously provided implicitly by Bazel must be identified and implemented explicitly in the toolchain configuration.
Motivation
Tasks
no_legacy_featuresfeature in the toolchain configuration.Acceptance Criteria
no_legacy_featuresis enabled.Expected Changes ot work products
Impact analysis
None
Safety or Security relevance
Expected required ASIL classification
QM
Expected Implementation Version (Release)
1.0