commit | 329b22a980ad7a0835c53938afe06a111f40ac96 | [log] [tgz] |
---|---|---|
author | gregce <gregce@google.com> | Thu May 20 07:35:39 2021 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu May 20 07:36:38 2021 -0700 |
tree | 8eb68a6d3f4b090659667270ad430d7ac1427878 | |
parent | 9732d233dd3ef2ef94fe3ad588044d4ae788cbcc [diff] |
Restrict bazelrc-set flag aliases to the "build" command. This prevents being able to build with an alias that "$ bazel canonicalize-flags" doesn't understand. This is a safety check for build and CI pipelines that process invocation flags through canonicalize-flags. Example scenario this fixes: $ cat .bazelrc test --flag_alias=myalias=//foo build:myconfig --flag_alias=configalias=//foo build:myconfig --configalias=5 $ bazel test //:mytest --myalias=blah <succeeds> $ bazel canonicalize-flags --for_command=test -- --myalias=blah ERROR: Unrecognized option: --myalias=blah $ bazel build //:mybuild --config=myconfig <succeeds> $ bazel canonicalize-flags -- --configalias=4 ERROR: Unrecognized option: --configalias=4 We could potentially expand CanonicalizeCommand.java to inherit from TestCommand.class instead of BuildCommand.class if there was a use case for loosening this restriction. PiperOrigin-RevId: 374867565
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md