No description
Find a file
Dan Willemsen 958b3acd10 Don't print module header if nothing is defined
Modules may decide not to output any build definitions in some cases.
Clean up the ninja file by not adding headers for empty sections.

One particular usecase is my upcoming multi-stage bootstrapping -
bootstrap_go_* will not output any rules in the first stage unless it's
required to build the primary builder.

Change-Id: I6a6b54da7e1702c63bfa736bcf8daf16956f9449
2015-07-20 17:51:21 -07:00
bootstrap Add self-documenting support 2015-06-26 10:51:44 -07:00
bpfmt Update import paths to include github 2015-03-21 01:03:36 -04:00
bpmodify Update import paths to include github 2015-03-21 01:03:36 -04:00
deptools Make WriteDepFile escape spaces and special characters 2015-04-14 23:34:24 -04:00
gotestmain Add option to build and run tests during bootstrap 2015-06-25 11:45:54 -07:00
parser Add deep Copy() for parser types 2015-07-06 12:49:23 -07:00
pathtools Fix glob dependencies when initial non-wild path does not exist 2015-06-18 10:49:36 -07:00
proptools Add self-documenting support 2015-06-26 10:51:44 -07:00
.travis.yml Add .travis.yml to configure CI 2015-03-21 03:12:46 -04:00
Blueprints Add self-documenting support 2015-06-26 10:51:44 -07:00
bootstrap.bash Add option to build and run tests during bootstrap 2015-06-25 11:45:54 -07:00
build.ninja.in Add self-documenting support 2015-06-26 10:51:44 -07:00
context.go Don't print module header if nothing is defined 2015-07-20 17:51:21 -07:00
context_test.go Add support for build= variable 2015-04-20 17:25:17 -07:00
CONTRIBUTING.md Add CONTRIBUTING.md file 2015-03-16 00:12:49 -07:00
doc.go Indent code block in doc.go 2015-04-11 09:52:11 -07:00
LICENSE Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
live_tracker.go Adding a builtinPool type 2015-04-16 13:10:19 -04:00
mangle.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
module_ctx.go Add CreateLocalVariations to BottupUpMutatorContext. 2015-05-19 11:26:11 -07:00
ninja_defs.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
ninja_strings.go Fix formatting 2015-04-20 16:41:55 -07:00
ninja_strings_test.go Fix formatting 2015-04-20 16:41:55 -07:00
ninja_writer.go Optimize ninja_writer 2015-04-15 11:03:06 -07:00
ninja_writer_test.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
package_ctx.go Fix formatting 2015-04-20 16:41:55 -07:00
README.md Add .travis.yml to configure CI 2015-03-21 03:12:46 -04:00
scope.go Adding a builtinPool type 2015-04-16 13:10:19 -04:00
singleton_ctx.go Add self-documenting support 2015-06-26 10:51:44 -07:00
splice_modules_test.go Update import paths to include github 2015-03-21 01:03:36 -04:00
unpack.go Add self-documenting support 2015-06-26 10:51:44 -07:00
unpack_test.go Support filtering nested structures by tag 2015-06-26 10:46:17 -07:00

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.