commit | 5df74a8e3866129732ee83eed5bfadbe70ffebae | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Mon Aug 24 16:18:21 2020 -0700 |
committer | Colin Cross <ccross@android.com> | Wed Sep 09 18:29:15 2020 -0700 |
tree | dec848fa73cf9e193f287892040c551fe352873f | |
parent | 39644c090308a6ce3e9ad798b421f37154056491 [diff] |
Maintain ordering between variants and aliases AddFarVariationDependencies takes the first matching variant. To maintain sensible behavior on a module with aliases, the ordering of aliases and module variants needs to be maintained so that AddFarVariationDependencies can find an earlier matching alias instead of a more specific variant. Test: go test . Change-Id: I78f4e96edd98159f3a62d94e240e5d652667bec4
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.