2015-01-27 22:34:06 +01:00
|
|
|
Blueprint Build System
|
|
|
|
======================
|
2020-06-15 19:21:56 +02:00
|
|
|
[![build](https://github.com/danw/blueprint/workflows/build/badge.svg)](https://github.com/google/blueprint/actions)
|
2015-01-27 22:34:06 +01:00
|
|
|
|
|
|
|
Blueprint is a meta-build system that reads in Blueprints files that describe
|
2015-03-21 06:53:30 +01:00
|
|
|
modules that need to be built, and produces a
|
2016-08-18 06:48:20 +02:00
|
|
|
[Ninja](https://ninja-build.org/) manifest describing the commands that
|
2015-03-21 06:53:30 +01:00
|
|
|
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
|
2015-01-27 22:34:06 +01:00
|
|
|
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.
|