commit | 503b811a8eb189d0a8f6fcd1e9b5e12bb5355440 | [log] [tgz] |
---|---|---|
author | jgennis <jgennis@gmail.com> | Tue Apr 14 22:30:00 2015 -0700 |
committer | jgennis <jgennis@gmail.com> | Tue Apr 14 22:30:00 2015 -0700 |
tree | 8cf4d19856991308e6bc7b8f36c32e84b86690ba | |
parent | e28dbe4d0c90d0edc2c83d1b66be71df30f4a77e [diff] | |
parent | c7988251aad191b6b9dc080c333aba06a9094fa8 [diff] |
Merge pull request #17 from jgennis/rbase Upstreaming some changes
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.