No description
Find a file
Colin Cross 542fd55c38 Allow adding maps
Add support for + operator on maps.  The semantics are that keys that
exist in both maps are added with the + operator, and keys that exist
in one map are copied to the resulting map.

Change-Id: Iba9a6f886477a1eb7311272d07944800c806e368
2015-03-04 14:00:06 -08:00
bootstrap Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
bpfmt Move blueprint/* up a directory 2015-01-23 14:23:27 -08:00
bpmodify Move blueprint/* up a directory 2015-01-23 14:23:27 -08:00
deptools Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
parser Allow adding maps 2015-03-04 14:00:06 -08:00
pathtools Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
proptools Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
Blueprints Run bpfmt -w . to reformat Blueprints file 2015-01-26 16:56:10 -08:00
bootstrap.bash Clean up the bootstrap script a little. 2014-06-18 12:57:56 -07:00
build.ninja.in Run bpfmt -w . to reformat Blueprints file 2015-01-26 16:56:10 -08:00
context.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
context_test.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
LICENSE Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
live_tracker.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
mangle.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
module_ctx.go Add VisitDirectDeps to module context 2015-03-04 14:00:06 -08:00
ninja_defs.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
ninja_strings.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
ninja_strings_test.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
ninja_writer.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
ninja_writer_test.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
package_ctx.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
README.md Add an initial README.md 2015-01-27 16:34:17 -05:00
scope.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
singleton_ctx.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
unpack.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
unpack_test.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00

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 (http://martine.github.io/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 langauge 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.