Project: /_project.yaml Book: /_book.yaml

Bazel Configurability 2021 Roadmap

{% include “_buttons.html” %}

Last verified: 2021-01-25 (update history)

Point of contact: gregestren

Discuss: Configurability roadmap: discussion

Previous Roadmaps

Goal

$ bazel build //:all just works, for any project and any platforms.

  • Builds don't require command-line flags.
  • Each target automatically uses correct settings (such as android_binary uses the right NDK).
  • It's easy to build for multiple platforms.
  • Builds scale well, particularly w.r.t graph size and action caching.

We also support cquery, Starlark configuration, and select().

Roadmap

Dates are approximate based on our best understanding of problem complexity and developer availability. In 2021 we intend to focus more effort on fewer projects at once. We'll only set ETAs for actively prioritized work in the interest of accurate expectations.

Platforms

  • This is our main priority for the beginning of 2021.
  • This is blocked on Android platforms. We can turn this on with a simple flag flip.
  • Let targets declare that they should build for multiple platforms
  • Listed here because of user request
  • This is an aspirational goal that falls out of migrating all rules to platforms.

Efficiency

  • Improves multi-platform build speed
  • Underallocated, so progress is slow