commit | 474fc1895cd5ed34841e32ab8e2ece1fbffe2ab4 | [log] [tgz] |
---|---|---|
author | Googler <plf@google.com> | Wed Feb 22 01:33:16 2023 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Feb 22 01:34:38 2023 -0800 |
tree | e363e16d31af3447f061657de4be208314ca8efe | |
parent | 0022afde6fba90505cd8826f69fac1aa68df4efd [diff] |
Automated rollback of commit 1c930292e79d22107a946aafea210b09806bde43. *** Reason for rollback *** Bazel thinks about character encoding is that it parses all of its input as ISO 8859-1 and emits all of its output as ISO 8859-1. This is, of course, broken, but in practice, it works reasonably well because UTF-8 survives being parsed and then re-encoded as ISO 8859-1 intact. It looks like https://github.com/bazelbuild/bazel/pull/15846 breaks that invariant. For example, if the byte 0xd6 ("ö" in ISO 8859-1) is on the input, it would be emitted as 0xc3 0xb6 in the runfiles manifest. Equivalently, if the input is 0xc3 0xb6 ("ö" in UTF-8) is on the input, it would mean "ö" in ISO 8859-1, and would therefore be emitted as 0xc3 0x83 0xc2 0xb6 in UTF-8. *** Original change description *** Fix bugs with unicode filenames in runfiles. We had a cc_test using a bunch of files (`data = glob(["data/**"]),`), some which were in subdirectories where the directory name had unicode characters (e.g. `data/test_öΩ/`). This resulted in an error: ``` ERROR: C:/users/.../BUILD.bazel:233:8: Creating runfiles tree bazel-out/x64_windows-opt/test-shared.exe.runfiles failed: build-runfiles.exe failed: error executing command cd /d C:\user... *** RELNOTES:none PiperOrigin-RevId: 511428267 Change-Id: If35c7aa62237e3ed3f45575f949d977981f1a833
{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:
To report a security issue, please email security@bazel.build with a description of the issue, the steps you took to create the issue, affected versions, and, if known, mitigations for the issue. Our vulnerability management team will respond within 3 working days of your email. If the issue is confirmed as a vulnerability, we will open a Security Advisory. This project follows a 90 day disclosure timeline.
See CONTRIBUTING.md