commit | 06a6d36202e2fe5b644d71c8022b8fb5c94a71c8 | [log] [tgz] |
---|---|---|
author | Benjamin Peterson <benjamin@python.org> | Tue Nov 17 08:36:00 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Nov 17 08:38:25 2020 -0800 |
tree | 606fba2a93f413c430924f84c32d478e3b806d97 | |
parent | a80a58afcce1528104b13554692075d3236cb5f6 [diff] |
Fix the asynchronous cleaning of readonly directories. Previously, clean --async would silently fail to remove files in read-only directories. Such directories arise from tree artifacts or unsandboxed actions writing junk into the output tree. This change makes sure all directories can be edited before executing the "rm -rf". The limits of shelling out come into relief in this CL. A more solid approach would be daemonizing a native utility that executes the code backing the VFS's Path.deleteTreesBelow method. That would ensure synchronous and asynchronous cleans have the same erasure capabilities and pave the way for cross-platform --async support. This CL takes a small step in that direction by replacing arcane shell daemonization with Bazel's daemonize tool. Fixes https://github.com/bazelbuild/bazel/issues/12125. Closes #12452. PiperOrigin-RevId: 342869437
{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