commit | c964ad8393137bfc89505ac90dfa49b751eee9a9 | [log] [tgz] |
---|---|---|
author | aehlig <aehlig@google.com> | Mon May 08 10:02:17 2017 -0400 |
committer | Kristina Chodorow <kchodorow@google.com> | Tue May 09 10:50:17 2017 -0400 |
tree | 02ed3ee1aa1d340f75479470bcd1fe2e3e86bce3 | |
parent | 9ab58211439d183fed38d3f8649c35c69591540c [diff] |
Automated g4 rollback of commit 48c636637a5a4fba1c0c509bdc3724450155d792. *** Reason for rollback *** Rollforward with fix To have stdout/stderr in the BuildEventStream, the BuildEventStreamerModule registers a listener that accumulates the values for the streamer to collect it and regularly send it over the stream. As we have to also catch stdout/stderr that happens early in the build, we have to register the listener before(!) the options are parsed; therefore it is registered unconditionally. Now, if there is no streamer created after parsing the options there is no one to collect the data and it grows indefinitely. Fix this, by disabling the collection in this case. *** Original change description *** Automated g4 rollback of commit 9e37b2e52d6e42eec15712942c7f208b64c651e5. *** Reason for rollback *** Results in NegativeArraySizeExceptions when there's a high volume of data. *** Original change description *** BEP: Report stdout/stderr By recording registering a properly synchronized OutErr as listener and providing it as OutErrProvider to the BuildEventStreamer. Change-Id: Id553fcdb85327be28561634268511304fcc2ad3f PiperOrigin-RevId: 155374710
{Fast, Correct} - Choose two
Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google‘s software, and thus it has been designed to handle build problems present in Google’s development environment, including:
A massive, shared code repository, in which all software is built from source. Bazel has been built for speed, using both caching and parallelism to achieve this. Bazel is critical to Google's ability to continue to scale its software development practices as the company grows.
An emphasis on automated testing and releases. Bazel has been built for correctness and reproducibility, meaning that a build performed on a continuous build machine or in a release pipeline will generate bitwise-identical outputs to those generated on a developer's machine.
Language and platform diversity. Bazel's architecture is general enough to support many different programming languages within Google, and can be used to build both client and server software targeting multiple architectures from the same underlying codebase.
Find more background about Bazel in our FAQ.