You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sandy 1dbecf0f72 pl280 9.0 code 4 years ago
..
bootstrap pl280 9.0 code 4 years ago
bpfmt pl280 9.0 code 4 years ago
bpmodify pl280 9.0 code 4 years ago
deptools pl280 9.0 code 4 years ago
gotestmain pl280 9.0 code 4 years ago
gotestrunner pl280 9.0 code 4 years ago
loadplugins pl280 9.0 code 4 years ago
microfactory pl280 9.0 code 4 years ago
parser pl280 9.0 code 4 years ago
pathtools pl280 9.0 code 4 years ago
proptools pl280 9.0 code 4 years ago
tests pl280 9.0 code 4 years ago
.travis.fix-fork.sh pl280 9.0 code 4 years ago
.travis.gofmt.sh pl280 9.0 code 4 years ago
.travis.install-ninja.sh pl280 9.0 code 4 years ago
.travis.yml pl280 9.0 code 4 years ago
Blueprints pl280 9.0 code 4 years ago
CONTRIBUTING.md pl280 9.0 code 4 years ago
LICENSE pl280 9.0 code 4 years ago
OWNERS pl280 9.0 code 4 years ago
README.md pl280 9.0 code 4 years ago
blueprint.bash pl280 9.0 code 4 years ago
blueprint_impl.bash pl280 9.0 code 4 years ago
bootstrap.bash pl280 9.0 code 4 years ago
context.go pl280 9.0 code 4 years ago
context_test.go pl280 9.0 code 4 years ago
doc.go pl280 9.0 code 4 years ago
glob.go pl280 9.0 code 4 years ago
glob_test.go pl280 9.0 code 4 years ago
live_tracker.go pl280 9.0 code 4 years ago
mangle.go pl280 9.0 code 4 years ago
module_ctx.go pl280 9.0 code 4 years ago
name_interface.go pl280 9.0 code 4 years ago
ninja_defs.go pl280 9.0 code 4 years ago
ninja_strings.go pl280 9.0 code 4 years ago
ninja_strings_test.go pl280 9.0 code 4 years ago
ninja_writer.go pl280 9.0 code 4 years ago
ninja_writer_test.go pl280 9.0 code 4 years ago
package_ctx.go pl280 9.0 code 4 years ago
scope.go pl280 9.0 code 4 years ago
singleton_ctx.go pl280 9.0 code 4 years ago
splice_modules_test.go pl280 9.0 code 4 years ago
unpack.go pl280 9.0 code 4 years ago
unpack_test.go pl280 9.0 code 4 years ago
visit_test.go pl280 9.0 code 4 years ago

README.md

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.