No description
Find a file
Colin Cross 1e73794d42 Add CommentGroups
Determining which comments are contiguous is difficult once they have
been parsed into an out-of-band comment list, as any intervening nodes
are in a separate structure.  Group the comments into CommentGroups
during the parsing stage instead.

Change-Id: I9444c58e75333b7521b58dbfbd36ff29d139b6e3
2016-06-14 15:26:49 -07:00
bootstrap Fix documentation property type for pointers 2016-06-02 12:38:24 -07:00
bpfmt Update import paths to include github 2015-03-21 01:03:36 -04:00
bpmodify Remove blueprint/parser.Ident 2016-06-14 15:26:49 -07:00
choosestage Fix package names for executables. 2016-03-23 20:57:43 -07:00
deptools Make WriteDepFile escape spaces and special characters 2015-04-14 23:34:24 -04:00
gotestmain Fix package names for executables. 2016-03-23 20:57:43 -07:00
gotestrunner Add a test runner 2015-09-18 10:28:36 -07:00
loadplugins Implement plugins for bootstrap go modules 2015-09-14 15:35:12 -07:00
parser Add CommentGroups 2016-06-14 15:26:49 -07:00
pathtools Fix glob dependencies when initial non-wild path does not exist 2015-06-18 10:49:36 -07:00
proptools Support ExtendProperties that can append or prepend 2016-05-05 16:23:19 -07:00
tests Add build wrapper to do stage selection before ninja 2015-12-10 16:18:15 -08:00
.gitignore Add test suite for bootstrapping 2015-07-23 22:04:42 -07:00
.travis.fix-fork.sh Fix running travis on forked repos 2015-07-23 21:07:32 -07:00
.travis.install-ninja.sh Switch to custom-built ninja v1.6.0 2015-07-23 21:07:32 -07:00
.travis.yml Add build wrapper to do stage selection before ninja 2015-12-10 16:18:15 -08:00
blueprint.bash Add build wrapper to do stage selection before ninja 2015-12-10 16:18:15 -08:00
Blueprints Refactor blueprint parser nodes to an interface 2016-06-08 14:48:53 -07:00
bootstrap.bash Add build wrapper to do stage selection before ninja 2015-12-10 16:18:15 -08:00
build.ninja.in Refactor blueprint parser nodes to an interface 2016-06-08 14:48:53 -07:00
context.go Rename Pos members 2016-06-14 15:26:49 -07:00
context_test.go Deprecate EarlyMutator and DynamicDependencies 2015-10-29 16:03:37 -07:00
context_test_Blueprints Added test for walkDeps. 2015-10-09 17:57:00 -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 Add common implicit deps to Rules 2015-11-17 17:08:05 -08:00
mangle.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
module_ctx.go Support dependencies between variants 2016-04-12 14:52:46 -07:00
ninja_defs.go Allow wrapping of PackageContext 2015-11-30 17:03:34 -08:00
ninja_strings.go Allow wrapping of PackageContext 2015-11-30 17:03:34 -08:00
ninja_strings_test.go Fix formatting 2015-04-20 16:41:55 -07:00
ninja_writer.go Support comments in build rules. 2015-11-08 12:21:58 -08:00
ninja_writer_test.go Support comments in build rules. 2015-11-08 12:21:58 -08:00
package_ctx.go Fix govet issues 2016-06-02 12:38:24 -07:00
README.md Add .travis.yml to configure CI 2015-03-21 03:12:46 -04:00
scope.go Allow wrapping of PackageContext 2015-11-30 17:03:34 -08:00
singleton_ctx.go Add SingletonContext.Eval to evaluate ninja strings 2016-03-28 14:14:15 -07:00
splice_modules_test.go Catch panics in build logic 2016-01-07 17:24:26 -08:00
unpack.go Rename Pos members 2016-06-14 15:26:49 -07:00
unpack_test.go Refactor blueprint parser nodes to an interface 2016-06-08 14:48:53 -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.