Skip to content

Enable no_legacy_features in Toolchain Configuration #69

Description

@nradakovic

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

  • Requirements
  • Architecture
  • Safety Analysis
  • Security Analysis
  • Detailed Design
  • Implementation and Testing
  • all

Impact analysis

None

Safety or Security relevance

  • none
  • Safety relevant
  • Security relevant

Expected required ASIL classification

QM

Expected Implementation Version (Release)

1.0

Metadata

Metadata

Assignees

Labels

action configNew action config requestfeatureNew feature requestp3Medium/Low - handle it within normal processrepo configImprovements or additions to repository configurationtemplateAdd or update template toolchain configurationsunit testAdd or update unit tests

Type

No fields configured for Epic.

Projects

Status
Soon
Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions