commit | 28b2843b782e0b1b62a1c8d7a64dbae2fec5e76f | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Mon Dec 11 15:03:11 2017 -0800 |
committer | Colin Cross <ccross@android.com> | Mon Dec 11 16:31:41 2017 -0800 |
tree | 7cece3c37ce8871b9d150a17021f35cc722221c5 | |
parent | 5eb116a46e3c7cd4cd6de80b9f4e29a78ef420c2 [diff] |
Allow primary builder to stop bootstrap early Allow the primary builder to stop bootstrap between ResolveDependencies and PrepareBuildActions so that it can use the build graph to write customized documentation. Change-Id: I67ee5e6e438a0c2c3ec844c4c453d223971e60a2
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.