commit | 30b0f16728b87ceccb0da40d478c0cd2615c9f39 | [log] [tgz] |
---|---|---|
author | colincross <github@colincross.com> | Thu Jul 30 17:24:32 2015 -0700 |
committer | colincross <github@colincross.com> | Thu Jul 30 17:24:32 2015 -0700 |
tree | 078381b629ea0cbc9b4d900ebb71472951142029 | |
parent | e13dcaafd1d3de6e3182a0b316abf28d33f4a063 [diff] | |
parent | d2e70839f2648f046c5fe6111d0feaf27a0e171d [diff] |
Merge pull request #46 from danw/multistagebootstrap Multi-stage bootstrapping
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.