commit | e4c8e32965c9a74b7f6b01e4c75e5e23459309dc | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Fri Sep 06 19:59:32 2019 -0700 |
committer | android-build-merger <android-build-merger@google.com> | Fri Sep 06 19:59:32 2019 -0700 |
tree | b197749387caffe3fa1c42a921cdf8039129984a | |
parent | c91a354c0f1e73e8e7ac96ab4771bf5fe33ed4b3 [diff] | |
parent | 24a64184755c6b6c0cd5a7050db44d5c82c0252a [diff] |
Merge remote-tracking branch 'aosp/upstream' am: 18efe1bc65 am: 47653a7b0b am: 24a6418475 Change-Id: I0d86ed9d282a12461b9fb355cfa6d72ad2e5dcbc
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.