Merge "Add androidmk error for multiple assignments" am: d9857f83a8

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1349043

Change-Id: I2c8827d444baa8ab5e6314d755023f77d7934591
This commit is contained in:
Liz Kammer
2020-06-25 18:19:28 +00:00
committed by Automerger Merge Worker
2 changed files with 32 additions and 0 deletions

View File

@@ -458,6 +458,9 @@ func setVariable(file *bpFile, plusequals bool, prefix, name string, value bppar
}
file.defs = append(file.defs, a)
} else {
if _, ok := file.globalAssignments[name]; ok {
return fmt.Errorf("cannot assign a variable multiple times: \"%s\"", name)
}
a := &bpparser.Assignment{
Name: name,
NamePos: pos,

View File

@@ -1386,6 +1386,35 @@ cc_binary {
name: "test",
srcs: dashed_dash_variable,
}
`,
},
{
desc: "variableReassigned",
in: `
include $(CLEAR_VARS)
src_files:= a.cpp
LOCAL_SRC_FILES:= $(src_files)
LOCAL_MODULE:= test
include $(BUILD_EXECUTABLE)
# clear locally used variable
src_files:=
`,
expected: `
src_files = ["a.cpp"]
cc_binary {
name: "test",
srcs: src_files,
}
// clear locally used variable
// ANDROIDMK TRANSLATION ERROR: cannot assign a variable multiple times: "src_files"
// src_files :=
`,
},
{