commit | 93c4cf686150a160edf1a086f7394f027efec186 | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Sat Aug 06 22:54:17 2016 -0700 |
committer | Colin Cross <ccross@android.com> | Wed Aug 10 16:31:35 2016 -0700 |
tree | 7d26cd3feac11de872fce4308de314e07f882c73 | |
parent | a028bf49ba0446d3d59a74598b88b09879392576 [diff] |
Revert "Add dependency visiting methods to BottomUpMutatorContext" This reverts commit a2b2080fcd12b9ea302ef9717605aa20abfa6f73. Dependency visiting methods conflict with the dependency adding methods already present on BottomUpMutatorContext - mixing calls to visit dependencies and adding dependencies produces requires hard-to-define semantics, and complicates parallizing mutators. Change-Id: I2f793c8db45b97f4d79badc9fe88315fe38d90cd
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.