| commit | ef1a9da624050c41e13d3577803d153f051d7802 | [log] [tgz] |
|---|---|---|
| author | ulfjack <ulfjack@google.com> | Fri Nov 29 12:00:03 2019 -0800 |
| committer | Copybara-Service <copybara-worker@google.com> | Fri Nov 29 12:01:13 2019 -0800 |
| tree | ece68ca6cd7d7031de906539279487dd1da71489 | |
| parent | 693963f44ad2d62d858a24ed5dad4698d3835223 [diff] |
Allow skipping creation of the runfiles manifest If --experimental_skip_runfiles_manifests is enabled, Bazel does not write a <rule>.runfiles_manifest file for binary and test rules, and instead creates the symlink tree from the in-memory representation. The way this is implemented is by making the symlink tree action not depend on the input manifest. If there are other dependencies on the manifest, it will still be written. I have carefully audited the code, and I believe that there are no such dependencies, and the manifest is generally not part of the providers published by a configured target. Note that this has no effect on Fileset manifests, on Windows, and if --experimental_enable_runfiles is false. RELNOTES: We are planning to deprecate the runfiles manifest files, which aren't safe in the presence of whitespace, and also unnecessarily require local CPU when remote execution is used. This release adds --experimental_skip_runfiles_manifests to disable the generation of the input manifests (rule.manifest files) in most cases. Note that this flag has no effect on Windows by default or if --experimental_enable_runfiles is explicitly set to false. PiperOrigin-RevId: 283078443
{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