commit | ad914cea1ad616328335f350d715d86c04daa3ae | [log] [tgz] |
---|---|---|
author | colincross <github@colincross.com> | Tue Oct 11 10:31:12 2016 -0700 |
committer | GitHub <noreply@github.com> | Tue Oct 11 10:31:12 2016 -0700 |
tree | d65b4c5bda349ca06da9e783ee450b03fc273b41 | |
parent | 888b21f87bd38233c868eb07d7d74b474e73e3f0 [diff] | |
parent | 2458712c0b668322b005595470bc864dae9b47eb [diff] |
Merge pull request #125 from colincross/build_deps Add dependency on build= blueprint files
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.