Merge "Ignore assignments to .KATI_READONLY"

This commit is contained in:
Cole Faust
2022-04-27 17:56:54 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 0 deletions

View File

@@ -542,6 +542,12 @@ func (ctx *parseContext) handleAssignment(a *mkparser.Assignment) []starlarkNode
if strings.HasPrefix(name, "override ") { if strings.HasPrefix(name, "override ") {
return []starlarkNode{ctx.newBadNode(a, "cannot handle override directive")} return []starlarkNode{ctx.newBadNode(a, "cannot handle override directive")}
} }
if name == ".KATI_READONLY" {
// Skip assignments to .KATI_READONLY. If it was in the output file, it
// would be an error because it would be sorted before the definition of
// the variable it's trying to make readonly.
return []starlarkNode{}
}
// Soong configuration // Soong configuration
if strings.HasPrefix(name, soongNsPrefix) { if strings.HasPrefix(name, soongNsPrefix) {

View File

@@ -1529,6 +1529,20 @@ def init(g, handle):
cfg["PRODUCT_COPY_FILES"] += ("foo/bar/%s:%s/etc/%s" % (x, g.get("TARGET_COPY_OUT_VENDOR", ""), x)).split() cfg["PRODUCT_COPY_FILES"] += ("foo/bar/%s:%s/etc/%s" % (x, g.get("TARGET_COPY_OUT_VENDOR", ""), x)).split()
if g.get("MY_OTHER_VAR", ""): if g.get("MY_OTHER_VAR", ""):
cfg["PRODUCT_COPY_FILES"] += ("%s:foo/bar/%s" % (g.get("MY_OTHER_VAR", ""), x)).split() cfg["PRODUCT_COPY_FILES"] += ("%s:foo/bar/%s" % (g.get("MY_OTHER_VAR", ""), x)).split()
`,
},
{
desc: ".KATI_READONLY",
mkname: "product.mk",
in: `
MY_VAR := foo
.KATI_READONLY := MY_VAR
`,
expected: `load("//build/make/core:product_config.rbc", "rblf")
def init(g, handle):
cfg = rblf.cfg(handle)
g["MY_VAR"] = "foo"
`, `,
}, },
} }