Loading mk2rbc/mk2rbc_test.go +27 −0 Original line number Diff line number Diff line Loading @@ -1212,6 +1212,33 @@ def init(g, handle): g["BOOT_KERNEL_MODULES_LIST"] = ["foo.ko"] g["BOOT_KERNEL_MODULES_LIST"] += ["bar.ko"] g["BOOT_KERNEL_MODULES_FILTER_2"] = ["%%/%s" % m for m in g["BOOT_KERNEL_MODULES_LIST"]] `, }, { desc: "List appended to string", mkname: "product.mk", in: ` NATIVE_BRIDGE_PRODUCT_PACKAGES := \ libnative_bridge_vdso.native_bridge \ native_bridge_guest_app_process.native_bridge \ native_bridge_guest_linker.native_bridge NATIVE_BRIDGE_MODIFIED_GUEST_LIBS := \ libaaudio \ libamidi \ libandroid \ libandroid_runtime NATIVE_BRIDGE_PRODUCT_PACKAGES += \ $(addsuffix .native_bridge,$(NATIVE_BRIDGE_ORIG_GUEST_LIBS)) `, expected: `load("//build/make/core:product_config.rbc", "rblf") def init(g, handle): cfg = rblf.cfg(handle) g["NATIVE_BRIDGE_PRODUCT_PACKAGES"] = "libnative_bridge_vdso.native_bridge native_bridge_guest_app_process.native_bridge native_bridge_guest_linker.native_bridge" g["NATIVE_BRIDGE_MODIFIED_GUEST_LIBS"] = "libaaudio libamidi libandroid libandroid_runtime" g["NATIVE_BRIDGE_PRODUCT_PACKAGES"] += " " + " ".join(rblf.addsuffix(".native_bridge", g.get("NATIVE_BRIDGE_ORIG_GUEST_LIBS", ""))) `, }, } Loading mk2rbc/variable.go +9 −3 Original line number Diff line number Diff line Loading @@ -81,10 +81,12 @@ func (pcv productConfigVariable) emitSet(gctx *generationContext, asgn *assignme emitAppend := func() { pcv.emitGet(gctx, true) gctx.write(" += ") value := asgn.value if pcv.valueType() == starlarkTypeString { gctx.writef(`" " + `) value = &toStringExpr{expr: value} } asgn.value.emit(gctx) value.emit(gctx) } switch asgn.flavor { Loading Loading @@ -136,10 +138,12 @@ func (scv otherGlobalVariable) emitSet(gctx *generationContext, asgn *assignment emitAppend := func() { scv.emitGet(gctx, true) gctx.write(" += ") value := asgn.value if scv.valueType() == starlarkTypeString { gctx.writef(`" " + `) value = &toStringExpr{expr: value} } asgn.value.emit(gctx) value.emit(gctx) } switch asgn.flavor { Loading Loading @@ -193,10 +197,12 @@ func (lv localVariable) emitSet(gctx *generationContext, asgn *assignmentNode) { case asgnAppend: lv.emitGet(gctx, false) gctx.write(" += ") value := asgn.value if lv.valueType() == starlarkTypeString { gctx.writef(`" " + `) value = &toStringExpr{expr: value} } asgn.value.emit(gctx) value.emit(gctx) case asgnMaybeAppend: gctx.writef("%s(%q, ", cfnLocalAppend, lv) asgn.value.emit(gctx) Loading Loading
mk2rbc/mk2rbc_test.go +27 −0 Original line number Diff line number Diff line Loading @@ -1212,6 +1212,33 @@ def init(g, handle): g["BOOT_KERNEL_MODULES_LIST"] = ["foo.ko"] g["BOOT_KERNEL_MODULES_LIST"] += ["bar.ko"] g["BOOT_KERNEL_MODULES_FILTER_2"] = ["%%/%s" % m for m in g["BOOT_KERNEL_MODULES_LIST"]] `, }, { desc: "List appended to string", mkname: "product.mk", in: ` NATIVE_BRIDGE_PRODUCT_PACKAGES := \ libnative_bridge_vdso.native_bridge \ native_bridge_guest_app_process.native_bridge \ native_bridge_guest_linker.native_bridge NATIVE_BRIDGE_MODIFIED_GUEST_LIBS := \ libaaudio \ libamidi \ libandroid \ libandroid_runtime NATIVE_BRIDGE_PRODUCT_PACKAGES += \ $(addsuffix .native_bridge,$(NATIVE_BRIDGE_ORIG_GUEST_LIBS)) `, expected: `load("//build/make/core:product_config.rbc", "rblf") def init(g, handle): cfg = rblf.cfg(handle) g["NATIVE_BRIDGE_PRODUCT_PACKAGES"] = "libnative_bridge_vdso.native_bridge native_bridge_guest_app_process.native_bridge native_bridge_guest_linker.native_bridge" g["NATIVE_BRIDGE_MODIFIED_GUEST_LIBS"] = "libaaudio libamidi libandroid libandroid_runtime" g["NATIVE_BRIDGE_PRODUCT_PACKAGES"] += " " + " ".join(rblf.addsuffix(".native_bridge", g.get("NATIVE_BRIDGE_ORIG_GUEST_LIBS", ""))) `, }, } Loading
mk2rbc/variable.go +9 −3 Original line number Diff line number Diff line Loading @@ -81,10 +81,12 @@ func (pcv productConfigVariable) emitSet(gctx *generationContext, asgn *assignme emitAppend := func() { pcv.emitGet(gctx, true) gctx.write(" += ") value := asgn.value if pcv.valueType() == starlarkTypeString { gctx.writef(`" " + `) value = &toStringExpr{expr: value} } asgn.value.emit(gctx) value.emit(gctx) } switch asgn.flavor { Loading Loading @@ -136,10 +138,12 @@ func (scv otherGlobalVariable) emitSet(gctx *generationContext, asgn *assignment emitAppend := func() { scv.emitGet(gctx, true) gctx.write(" += ") value := asgn.value if scv.valueType() == starlarkTypeString { gctx.writef(`" " + `) value = &toStringExpr{expr: value} } asgn.value.emit(gctx) value.emit(gctx) } switch asgn.flavor { Loading Loading @@ -193,10 +197,12 @@ func (lv localVariable) emitSet(gctx *generationContext, asgn *assignmentNode) { case asgnAppend: lv.emitGet(gctx, false) gctx.write(" += ") value := asgn.value if lv.valueType() == starlarkTypeString { gctx.writef(`" " + `) value = &toStringExpr{expr: value} } asgn.value.emit(gctx) value.emit(gctx) case asgnMaybeAppend: gctx.writef("%s(%q, ", cfnLocalAppend, lv) asgn.value.emit(gctx) Loading