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 ec51644259 pl283 349pulus 7 release code 4 years ago
..
bootstrap pl283 349pulus 7 release code 4 years ago
bpfmt pl283 349pulus 7 release code 4 years ago
bpmodify pl283 349pulus 7 release code 4 years ago
deptools pl283 349pulus 7 release code 4 years ago
gotestmain pl283 349pulus 7 release code 4 years ago
gotestrunner pl283 349pulus 7 release code 4 years ago
loadplugins pl283 349pulus 7 release code 4 years ago
microfactory pl283 349pulus 7 release code 4 years ago
parser pl283 349pulus 7 release code 4 years ago
pathtools pl283 349pulus 7 release code 4 years ago
proptools pl283 349pulus 7 release code 4 years ago
tests pl283 349pulus 7 release code 4 years ago
.travis.fix-fork.sh pl283 349pulus 7 release code 4 years ago
.travis.gofmt.sh pl283 349pulus 7 release code 4 years ago
.travis.install-ninja.sh pl283 349pulus 7 release code 4 years ago
.travis.yml pl283 349pulus 7 release code 4 years ago
Blueprints pl283 349pulus 7 release code 4 years ago
CONTRIBUTING.md pl283 349pulus 7 release code 4 years ago
LICENSE pl283 349pulus 7 release code 4 years ago
OWNERS pl283 349pulus 7 release code 4 years ago
README.md pl283 349pulus 7 release code 4 years ago
blueprint.bash pl283 349pulus 7 release code 4 years ago
blueprint_impl.bash pl283 349pulus 7 release code 4 years ago
bootstrap.bash pl283 349pulus 7 release code 4 years ago
context.go pl283 349pulus 7 release code 4 years ago
context_test.go pl283 349pulus 7 release code 4 years ago
doc.go pl283 349pulus 7 release code 4 years ago
glob.go pl283 349pulus 7 release code 4 years ago
glob_test.go pl283 349pulus 7 release code 4 years ago
go.mod pl283 349pulus 7 release code 4 years ago
live_tracker.go pl283 349pulus 7 release code 4 years ago
mangle.go pl283 349pulus 7 release code 4 years ago
module_ctx.go pl283 349pulus 7 release code 4 years ago
name_interface.go pl283 349pulus 7 release code 4 years ago
ninja_defs.go pl283 349pulus 7 release code 4 years ago
ninja_strings.go pl283 349pulus 7 release code 4 years ago
ninja_strings_test.go pl283 349pulus 7 release code 4 years ago
ninja_writer.go pl283 349pulus 7 release code 4 years ago
ninja_writer_test.go pl283 349pulus 7 release code 4 years ago
package_ctx.go pl283 349pulus 7 release code 4 years ago
scope.go pl283 349pulus 7 release code 4 years ago
singleton_ctx.go pl283 349pulus 7 release code 4 years ago
splice_modules_test.go pl283 349pulus 7 release code 4 years ago
unpack.go pl283 349pulus 7 release code 4 years ago
unpack_test.go pl283 349pulus 7 release code 4 years ago
visit_test.go pl283 349pulus 7 release 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.