commit | 2d9b59bc2062bd9105b25d0befb4dec29c88d7ba | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Mon Dec 18 09:14:16 2017 -0800 |
committer | Dan Willemsen <dwillemsen@google.com> | Mon Dec 18 09:14:16 2017 -0800 |
tree | 71870e0fe7d6f696e17d21f1985196ca732e826e | |
parent | 7b8405f9c0a27090e74cfe31aaebacf8a1af161a [diff] |
Store build.ninja deps in .ninja_deps We're already going to load the .ninja_deps file, so we may as well use it. These are the only two files in our build that don't. Test: dump the .ninja_deps file, see the dependencies
Blueprint is a meta-build system that reads in Blueprints files that describe modules that need to be built, and produces a Ninja manifest describing the commands that need to be run and their dependencies. Where most build systems use built-in rules or a domain-specific language to describe the logic for converting module descriptions to build rules, Blueprint delegates this to per-project build logic written in Go. For large, heterogenous projects this allows the inherent complexity of the build logic to be maintained in a high-level language, while still allowing simple changes to individual modules by modifying easy to understand Blueprints files.