commit | 874a346904ca20e050069983a33d33a0a1a025ae | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Mon Jul 31 17:26:06 2017 -0700 |
committer | Colin Cross <ccross@android.com> | Tue Aug 01 15:12:12 2017 -0700 |
tree | 3bb9dae94d458b2703884b1e2a9cf484318eb304 | |
parent | af4fd215ebbe3c3b93fccd24f82943ff8c4596ca [diff] |
Let mutators use ctx.AddNinjaFileDeps Propagate extra ninja file deps through mutators so that they can use ctx.AddNinjaFileDeps. Test: blueprint tests Change-Id: I299a0665c3f63b020ae345889fd78b91b91b215a
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.