No description
Find a file
Colin Cross f5e34b98ca Split "variant" terminology into "variant" and "variation"
"Variant" has been used to mean two slightly concepts in Blueprint.
The first and most obvious is a variant of a module, meaning a list
of all the ways that on version of a module differs from other
versions of the same modules, for example "arch:arm, link:static".
The other is for the specific way that a version of a module differs,
"arch:arm".

Rename all of uses of "variant" as the second meaning to "variation",
and update the documentation to clarify "variant" vs. "variation".
This modifies the build logic api to convert CreateVariants to
CreateVariations.

Change-Id: I789ef209ae6ddd39ec12e0c032f9f47f86698fe6
2015-03-13 16:02:36 -07:00
bootstrap Merge pull request #3 from colincross/features 2015-03-10 13:06:59 -07: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 Fix whitespace in parser/parser.go 2015-03-10 14:42:13 -07:00
pathtools Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
proptools Fix bug when copying slice to itself 2015-03-11 16:09:00 -07: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 Split "variant" terminology into "variant" and "variation" 2015-03-13 16:02:36 -07:00
context_test.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
doc.go Relax module naming restrictions 2015-03-12 17:22:18 -07:00
LICENSE Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
live_tracker.go Move build actions into modules 2015-03-12 17:36:57 -07:00
mangle.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
module_ctx.go Split "variant" terminology into "variant" and "variation" 2015-03-13 16:02:36 -07:00
ninja_defs.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
ninja_strings.go Relax module naming restrictions 2015-03-12 17:22:18 -07: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 Move values from moduleGroup to moduleInfo 2015-03-12 17:22:18 -07: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.