aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2019-02-11 15:38:42 +0000
committerPaul Duffin <paulduffin@google.com>2019-02-13 10:11:54 +0000
commit99e4a50202a31fbef985cd14cfaf748a1eb29cf8 (patch)
treefc08df56a6c295e6a028fa884f9313b3a2847024 /java
parent40e26a2a995dabed6129f774d84c6363c833f192 (diff)
downloadandroid_build_soong-99e4a50202a31fbef985cd14cfaf748a1eb29cf8.tar.gz
android_build_soong-99e4a50202a31fbef985cd14cfaf748a1eb29cf8.tar.bz2
android_build_soong-99e4a50202a31fbef985cd14cfaf748a1eb29cf8.zip
Fix droiddoc handling of $(location ...)
Bug: 124218911 Test: make checkbuild Change-Id: I4d9c52b40ce4e8b9ae07f557e079e4f101fbbe87
Diffstat (limited to 'java')
-rw-r--r--java/droiddoc.go22
1 files changed, 13 insertions, 9 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go
index cbe6be64..787c4d7d 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -695,14 +695,17 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps {
j.sourcepaths = android.PathsForModuleSrc(ctx, j.properties.Local_sourcepaths)
j.argFiles = ctx.ExpandSources(j.properties.Arg_files, nil)
- argFilesMap := map[string]android.Path{}
-
- for _, f := range j.argFiles {
- if _, exists := argFilesMap[f.Rel()]; !exists {
- argFilesMap[f.Rel()] = f
+ argFilesMap := map[string]string{}
+ argFileLabels := []string{}
+
+ for _, label := range j.properties.Arg_files {
+ var paths = ctx.ExpandSources([]string{label}, nil)
+ if _, exists := argFilesMap[label]; !exists {
+ argFilesMap[label] = strings.Join(paths.Strings(), " ")
+ argFileLabels = append(argFileLabels, label)
} else {
ctx.ModuleErrorf("multiple arg_files for %q, %q and %q",
- f, argFilesMap[f.Rel()], f.Rel())
+ label, argFilesMap[label], paths)
}
}
@@ -710,10 +713,11 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps {
j.args, err = android.Expand(String(j.properties.Args), func(name string) (string, error) {
if strings.HasPrefix(name, "location ") {
label := strings.TrimSpace(strings.TrimPrefix(name, "location "))
- if f, ok := argFilesMap[label]; ok {
- return f.String(), nil
+ if paths, ok := argFilesMap[label]; ok {
+ return paths, nil
} else {
- return "", fmt.Errorf("unknown location label %q", label)
+ return "", fmt.Errorf("unknown location label %q, expecting one of %q",
+ label, strings.Join(argFileLabels, ", "))
}
} else if name == "genDir" {
return android.PathForModuleGen(ctx).String(), nil