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