commit | 5136c4311756c2be88044b6487b79535413712d0 | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Mon Aug 07 15:01:19 2017 -0700 |
committer | Dan Willemsen <dwillemsen@google.com> | Tue Aug 08 13:49:07 2017 -0700 |
tree | 72fa3d023cbaad589b9ee5e05156945ecd61f6d7 | |
parent | ff092863b39366904e582fe8ee3b294daf5fd3df [diff] |
Implement microfactory Config, Build To make it easier to use as a package. Change-Id: Idcb4856f34b91943a320e8281ef9e29af0faab98
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.