Clone this repo:
  1. a9f007c Add feature for C++ toolchain path patterns (#143) by Fabian Meumertzheim · 5 days ago upstream/main v1.47.0
  2. 11b7e5b Add is_tool_configuration_public for rules (#141) by Keith Smiley · 9 days ago v1.46.0
  3. 8e514d2 Add repo_rules_relativize_symlinks (#139) by David Zbarsky · 5 weeks ago v1.45.0
  4. 9f66dfd Add feature for cc.compile_is_starlark (#136) by Philip Zembrod · 6 weeks ago v1.44.0
  5. c5b8e31 chore(deps): update dependency protobuf to v33.6 (#135) by renovate[bot] · 7 weeks ago

Bazel Features

Use this to determine the availability of a Bazel feature in your ruleset. It works under the hood by comparing the Bazel version against a known range in which the feature is available. Example usage:

load("@bazel_features//:features.bzl", "bazel_features")
if bazel_features.toolchains.has_optional_toolchains:
    # Do something

The features.bzl file contains the list of features.

Accessing globals

References to global Starlark symbols that do not exist cause load time errors, which means that their availability in Bazel cannot be tested via a regular feature. Instead, use bazel_features.globals.<symbol>, which is <symbol> if the symbol is available and None else.

See globals.bzl for the list of symbols that can be checked for in this way.