commit | 4c00085f2dd3d2cd3cac61bfe9f8e5d84fe27bd0 | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Tue Jan 05 14:16:04 2016 -0800 |
committer | Dan Willemsen <dwillemsen@google.com> | Tue Jan 05 14:16:04 2016 -0800 |
tree | 5d915f3939aca6912172f6960380673ec4d0cd82 | |
parent | bd93c9a39cec9854aa34979687c5c1a6d127b299 [diff] |
AppendProperties: Replace *strings instead of appending This makes *string values act like *bool values -- instead of appending or prepending the contents of the string, the entire string is replaced. The use case here is for overriding filenames, where appending doesn't work.
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.