commit | 0cf94e91ea8d3fbab9c12f92e19e8fa9ad9e8a65 | [log] [tgz] |
---|---|---|
author | tomlu <tomlu@google.com> | Wed Feb 21 21:43:24 2018 -0800 |
committer | Copybara-Service <copybara-piper@google.com> | Wed Feb 21 21:45:19 2018 -0800 |
tree | e63bfed7bcca70cf1d81d12e93984f95ca26040d | |
parent | deb99ccfb4e6b236c21e6d425281870aa598804a [diff] |
Do not expand depset twice and store expanded in ctx.actions.run inputs. Previously, when inputs is a depset, we'd: * Expand it to a collection, then * Expand it again and add it as a flat list to the input builder This would be square on both performance and analysis time memory. Note that we _still_ expand the depset once to try to see if any input is a tool. This will have to be fixed in a future CL. RELNOTES: None PiperOrigin-RevId: 186566243
{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.