diff options
author | 2019-07-11 10:58:17 -0700 | |
---|---|---|
committer | 2019-07-11 14:52:17 -0700 | |
commit | 2647ced06ebaf5774d3c812756b1dd3a84bf019c (patch) | |
tree | 452b108106d6f8a4a072b660adc462cc78310578 /java/droiddoc.go | |
parent | ee94d6ab14ee9480e9c68ca9616698ba2bd93e70 (diff) |
Fix android.Expand and ninja escaping
RuleBuilder does its own ninja escaping, so values that will be
passed to RuleBuilder must not be pre-escaped. Add a new
android.ExpandNinjaEscaped method that explicitly handles ninja
escaping. Some of the expansion functions return ninja values
(like "${in}") that need to stay unescaped, so add a bool return
value to the expansion function in android.ExpandNinjaEscaped.
Test: expand_test.go
Change-Id: Ib03d4db38b5e3e5bffbd87acf14f55e276a53d04
Diffstat (limited to 'java/droiddoc.go')
-rw-r--r-- | java/droiddoc.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go index 48468ffc7..f93b3dff7 100644 --- a/java/droiddoc.go +++ b/java/droiddoc.go @@ -732,19 +732,19 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps { } var err error - j.args, err = android.Expand(String(j.properties.Args), func(name string) (string, error) { + j.args, err = android.ExpandNinjaEscaped(String(j.properties.Args), func(name string) (string, bool, error) { if strings.HasPrefix(name, "location ") { label := strings.TrimSpace(strings.TrimPrefix(name, "location ")) if paths, ok := argFilesMap[label]; ok { - return paths, nil + return paths, false, nil } else { - return "", fmt.Errorf("unknown location label %q, expecting one of %q", + return "", false, fmt.Errorf("unknown location label %q, expecting one of %q", label, strings.Join(argFileLabels, ", ")) } } else if name == "genDir" { - return android.PathForModuleGen(ctx).String(), nil + return android.PathForModuleGen(ctx).String(), false, nil } - return "", fmt.Errorf("unknown variable '$(%s)'", name) + return "", false, fmt.Errorf("unknown variable '$(%s)'", name) }) if err != nil { |