commit | c4e5b8157bfe8d68f59f4b607cf1fdd56202d649 | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Wed Oct 12 10:45:05 2016 -0700 |
committer | Colin Cross <ccross@android.com> | Wed Oct 12 13:33:37 2016 -0700 |
tree | 35a7538c0079c1b380e48b8501fa20a1270561fa | |
parent | b3f96c3306b94ba2ccf5777e7bc6d43b6d060460 [diff] |
Add Rename Allow modules to be renamed by mutators. This will allow modules to dynamically adapt to the presence or absence of modules with the same name. For example, if a source module does not exist, a prebuilt module could rename itself to the name of the source module so that dependenices on the module name are satisified. Change-Id: I44004604c6d9db041bb7d38fe6c1ca877bc7d6f1
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.