commit | aaf6457d800598d38890938156058f6025d5dc8d | [log] [tgz] |
---|---|---|
author | hlopko <hlopko@google.com> | Fri Jun 14 02:33:56 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Jun 14 02:34:55 2019 -0700 |
tree | f4454702a73d4bc4b3f57a7cbc035ecf38ae096f | |
parent | b41bf69e416c10a74def052ef67cf4712b8b9d2e [diff] |
Embed @platforms into the Bazel binary This PR implements the change discussed at https://docs.google.com/document/d/1EArrWYUDugqJzBcb0-OxY5BH1FFPYV3jxLIXbJpD9RY/edit?pli=1#heading=h.5mcn15i0e1ch. Closes https://github.com/bazelbuild/bazel/pull/8600. https://github.com/bazelbuild/bazel/issues/6516 This is encore of https://github.com/bazelbuild/bazel/commit/324dc44e6bafb487331724ae83d67bc18ed8a8aa with these changes: * removing WORKSPACE file from the platforms_archive - repository rules always create new WORKSPACE file and that messes up the timestamps after re-archiving. This fixes the determinism test. * after @aehlig kindly explained the semantics of external repositories, I discovered that overriding @platforms doesn't work when there is a load statement somewhere above the override, which is the common case. Therefore I had to move bundled platforms to the workspace suffix and had to use maybe pattern. * because of maybe pattern I have to mock the bzl file in Bazel unit tests. RELNOTES: PiperOrigin-RevId: 253193463
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds 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
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.