commit | a470612f97c0b8db00975bc19d2fe26e5801c6da | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Wed Sep 19 13:36:42 2018 -0700 |
committer | Colin Cross <ccross@android.com> | Wed Sep 19 15:44:40 2018 -0700 |
tree | af1c0472b2c29d5ad6b16f5af0d62bf160c8a961 | |
parent | 0799fad550029be4109db6d81189edf20eb720c7 [diff] |
Fix globs matching files with wildcard characters in the name Globs that match a file that looks like a glob were causing duplicate results because the prefix match would then re-match the filename as a wildcard. Add escaping to prevent re-matching. Also add tests for globs on files with wildcards, tests for ? and [a-z] glob matches supported by filepath.Match, and tests for escaped wildcard characters. Test: glob_test.go Change-Id: Id11a754863979bb36cca0dbd18ea2e76dd1470e3
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.