Clone this repo:
  1. e36ad10 Merge remote-tracking branch 'aosp/upstream' into master by Dan Willemsen · 2 weeks ago master
  2. a30a741 Merge pull request #149 from danw/improve_variant_errors by Dan Willemsen · 2 weeks ago upstream
  3. 978c4aa Improve error messages when dependency variants are missing by Dan Willemsen · 5 weeks ago
  4. 2341059 Merge remote-tracking branch 'aosp/upstream' into master am: 7c8c456795 by Colin Cross · 5 weeks ago
  5. 7c8c456 Merge remote-tracking branch 'aosp/upstream' into master by Colin Cross · 5 weeks ago

Blueprint Build System

Build Status

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.