commit | 9f9bd131c9e09f01131cb0e50d8c1f6df4d19334 | [log] [tgz] |
---|---|---|
author | ichern <ichern@google.com> | Tue Feb 18 07:43:34 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Feb 18 07:44:24 2020 -0800 |
tree | 831f98061831ad422ab10b5b82adb7d6806494a7 | |
parent | 75ae479bad67ff1555a900104960f2e8c484393b [diff] |
Introduce ninja_build for the correct composition of targets. ninja_graph is responsible now only for parsing the graph and symlinking inputs under output_root. This way it will always be a leaf in the build graph, and all combinations of non-cyclic dependencies between Bazel-built and Ninja-built targets are possible. ninja_build absorbs parsed NinjaTarget objects through NinjaGraphProvider. ninja_build creates actions for the subgraph for the targets from output_groups. Bazel-built dependencies are passed to ninja_build with deps_mapping attribute. There is an interoperability with Bazel test. ! this CL additionally contains a fix for deps_mapping to also replace the path to bazel-built file in the constructed command line. Closes #10804. PiperOrigin-RevId: 295731311
{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