commit | f802ffcd12436d3e3d00983ebde768b1a918fb99 | [log] [tgz] |
---|---|---|
author | Lukacs T. Berki <lberki@google.com> | Wed Feb 17 11:59:10 2021 +0100 |
committer | Lukacs T. Berki <lberki@google.com> | Wed Mar 03 09:14:22 2021 +0100 |
tree | 90c3ba6de880566f431bc0ff88d02d8f61f6d796 | |
parent | 8d9d43c46c086cf0240335fdf1d5e0c437d9fa9e [diff] |
cd / before generating build.ninja . This is so that soong_build doesn't know the current directory, thereby avoiding one way to leak information. Test: Manual. Change-Id: I976a8663b11d99c5382726487102df10043c5a61
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.