From 95b95cb647dd3743c70746ed76a591ff7417660a Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Tue, 5 Apr 2022 16:37:39 -0700 Subject: [PATCH] Convert $(sort) to Starlark This is mostly so that we can not error out when seeing sort inside a `include $(sort $(wildcard foo/*.mk))`. Bug: 218736658 Test: go test Change-Id: I827ecfc751a908227cb2dd9ed1e4b3f313791a16 --- mk2rbc/mk2rbc.go | 1 + mk2rbc/mk2rbc_test.go | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mk2rbc/mk2rbc.go b/mk2rbc/mk2rbc.go index 8807437aa..5ce031daa 100644 --- a/mk2rbc/mk2rbc.go +++ b/mk2rbc/mk2rbc.go @@ -110,6 +110,7 @@ var knownFunctions = map[string]interface { "require-artifacts-in-path-relaxed": &simpleCallParser{name: baseName + ".require_artifacts_in_path_relaxed", returnType: starlarkTypeVoid}, // TODO(asmundak): remove it once all calls are removed from configuration makefiles. see b/183161002 "shell": &shellCallParser{}, + "sort": &simpleCallParser{name: baseName + ".mksort", returnType: starlarkTypeList}, "strip": &simpleCallParser{name: baseName + ".mkstrip", returnType: starlarkTypeString}, "subst": &substCallParser{fname: "subst"}, "warning": &makeControlFuncParser{name: baseName + ".mkwarning"}, diff --git a/mk2rbc/mk2rbc_test.go b/mk2rbc/mk2rbc_test.go index 369881387..f94aa18f5 100644 --- a/mk2rbc/mk2rbc_test.go +++ b/mk2rbc/mk2rbc_test.go @@ -1022,12 +1022,13 @@ def init(g, handle): `, }, { - desc: "strip function", + desc: "strip/sort functions", mkname: "product.mk", in: ` ifeq ($(filter hwaddress,$(PRODUCT_PACKAGES)),) PRODUCT_PACKAGES := $(strip $(PRODUCT_PACKAGES) hwaddress) endif +MY_VAR := $(sort b a c) `, expected: `load("//build/make/core:product_config.rbc", "rblf") @@ -1036,6 +1037,7 @@ def init(g, handle): if "hwaddress" not in cfg.get("PRODUCT_PACKAGES", []): rblf.setdefault(handle, "PRODUCT_PACKAGES") cfg["PRODUCT_PACKAGES"] = (rblf.mkstrip("%s hwaddress" % " ".join(cfg.get("PRODUCT_PACKAGES", [])))).split() + g["MY_VAR"] = rblf.mksort("b a c") `, }, {