Convert add-product-dex-preopt-module-config to Starlark
Bug: 221877397 Test: go test Change-Id: I79f5209bb42f2c689af96ded376c08522cbec24e
This commit is contained in:
@@ -69,54 +69,55 @@ const (
|
|||||||
var knownFunctions = map[string]interface {
|
var knownFunctions = map[string]interface {
|
||||||
parse(ctx *parseContext, node mkparser.Node, args *mkparser.MakeString) starlarkExpr
|
parse(ctx *parseContext, node mkparser.Node, args *mkparser.MakeString) starlarkExpr
|
||||||
}{
|
}{
|
||||||
"abspath": &simpleCallParser{name: baseName + ".abspath", returnType: starlarkTypeString, addGlobals: false},
|
"abspath": &simpleCallParser{name: baseName + ".abspath", returnType: starlarkTypeString},
|
||||||
"add_soong_config_namespace": &simpleCallParser{name: baseName + ".soong_config_namespace", returnType: starlarkTypeVoid, addGlobals: true},
|
"add-product-dex-preopt-module-config": &simpleCallParser{name: baseName + ".add_product_dex_preopt_module_config", returnType: starlarkTypeString, addHandle: true},
|
||||||
"add_soong_config_var_value": &simpleCallParser{name: baseName + ".soong_config_set", returnType: starlarkTypeVoid, addGlobals: true},
|
"add_soong_config_namespace": &simpleCallParser{name: baseName + ".soong_config_namespace", returnType: starlarkTypeVoid, addGlobals: true},
|
||||||
soongConfigAssign: &simpleCallParser{name: baseName + ".soong_config_set", returnType: starlarkTypeVoid, addGlobals: true},
|
"add_soong_config_var_value": &simpleCallParser{name: baseName + ".soong_config_set", returnType: starlarkTypeVoid, addGlobals: true},
|
||||||
soongConfigAppend: &simpleCallParser{name: baseName + ".soong_config_append", returnType: starlarkTypeVoid, addGlobals: true},
|
soongConfigAssign: &simpleCallParser{name: baseName + ".soong_config_set", returnType: starlarkTypeVoid, addGlobals: true},
|
||||||
"soong_config_get": &simpleCallParser{name: baseName + ".soong_config_get", returnType: starlarkTypeString, addGlobals: true},
|
soongConfigAppend: &simpleCallParser{name: baseName + ".soong_config_append", returnType: starlarkTypeVoid, addGlobals: true},
|
||||||
"add-to-product-copy-files-if-exists": &simpleCallParser{name: baseName + ".copy_if_exists", returnType: starlarkTypeList, addGlobals: false},
|
"soong_config_get": &simpleCallParser{name: baseName + ".soong_config_get", returnType: starlarkTypeString, addGlobals: true},
|
||||||
"addprefix": &simpleCallParser{name: baseName + ".addprefix", returnType: starlarkTypeList, addGlobals: false},
|
"add-to-product-copy-files-if-exists": &simpleCallParser{name: baseName + ".copy_if_exists", returnType: starlarkTypeList},
|
||||||
"addsuffix": &simpleCallParser{name: baseName + ".addsuffix", returnType: starlarkTypeList, addGlobals: false},
|
"addprefix": &simpleCallParser{name: baseName + ".addprefix", returnType: starlarkTypeList},
|
||||||
"copy-files": &simpleCallParser{name: baseName + ".copy_files", returnType: starlarkTypeList, addGlobals: false},
|
"addsuffix": &simpleCallParser{name: baseName + ".addsuffix", returnType: starlarkTypeList},
|
||||||
"dir": &simpleCallParser{name: baseName + ".dir", returnType: starlarkTypeList, addGlobals: false},
|
"copy-files": &simpleCallParser{name: baseName + ".copy_files", returnType: starlarkTypeList},
|
||||||
"dist-for-goals": &simpleCallParser{name: baseName + ".mkdist_for_goals", returnType: starlarkTypeVoid, addGlobals: true},
|
"dir": &simpleCallParser{name: baseName + ".dir", returnType: starlarkTypeList},
|
||||||
"enforce-product-packages-exist": &simpleCallParser{name: baseName + ".enforce_product_packages_exist", returnType: starlarkTypeVoid, addGlobals: false},
|
"dist-for-goals": &simpleCallParser{name: baseName + ".mkdist_for_goals", returnType: starlarkTypeVoid, addGlobals: true},
|
||||||
"error": &makeControlFuncParser{name: baseName + ".mkerror"},
|
"enforce-product-packages-exist": &simpleCallParser{name: baseName + ".enforce_product_packages_exist", returnType: starlarkTypeVoid},
|
||||||
"findstring": &simpleCallParser{name: baseName + ".findstring", returnType: starlarkTypeInt, addGlobals: false},
|
"error": &makeControlFuncParser{name: baseName + ".mkerror"},
|
||||||
"find-copy-subdir-files": &simpleCallParser{name: baseName + ".find_and_copy", returnType: starlarkTypeList, addGlobals: false},
|
"findstring": &simpleCallParser{name: baseName + ".findstring", returnType: starlarkTypeInt},
|
||||||
"filter": &simpleCallParser{name: baseName + ".filter", returnType: starlarkTypeList, addGlobals: false},
|
"find-copy-subdir-files": &simpleCallParser{name: baseName + ".find_and_copy", returnType: starlarkTypeList},
|
||||||
"filter-out": &simpleCallParser{name: baseName + ".filter_out", returnType: starlarkTypeList, addGlobals: false},
|
"filter": &simpleCallParser{name: baseName + ".filter", returnType: starlarkTypeList},
|
||||||
"firstword": &firstOrLastwordCallParser{isLastWord: false},
|
"filter-out": &simpleCallParser{name: baseName + ".filter_out", returnType: starlarkTypeList},
|
||||||
"foreach": &foreachCallPaser{},
|
"firstword": &firstOrLastwordCallParser{isLastWord: false},
|
||||||
"if": &ifCallParser{},
|
"foreach": &foreachCallPaser{},
|
||||||
"info": &makeControlFuncParser{name: baseName + ".mkinfo"},
|
"if": &ifCallParser{},
|
||||||
"is-board-platform": &simpleCallParser{name: baseName + ".board_platform_is", returnType: starlarkTypeBool, addGlobals: true},
|
"info": &makeControlFuncParser{name: baseName + ".mkinfo"},
|
||||||
"is-board-platform2": &simpleCallParser{name: baseName + ".board_platform_is", returnType: starlarkTypeBool, addGlobals: true},
|
"is-board-platform": &simpleCallParser{name: baseName + ".board_platform_is", returnType: starlarkTypeBool, addGlobals: true},
|
||||||
"is-board-platform-in-list": &simpleCallParser{name: baseName + ".board_platform_in", returnType: starlarkTypeBool, addGlobals: true},
|
"is-board-platform2": &simpleCallParser{name: baseName + ".board_platform_is", returnType: starlarkTypeBool, addGlobals: true},
|
||||||
"is-board-platform-in-list2": &simpleCallParser{name: baseName + ".board_platform_in", returnType: starlarkTypeBool, addGlobals: true},
|
"is-board-platform-in-list": &simpleCallParser{name: baseName + ".board_platform_in", returnType: starlarkTypeBool, addGlobals: true},
|
||||||
"is-product-in-list": &isProductInListCallParser{},
|
"is-board-platform-in-list2": &simpleCallParser{name: baseName + ".board_platform_in", returnType: starlarkTypeBool, addGlobals: true},
|
||||||
"is-vendor-board-platform": &isVendorBoardPlatformCallParser{},
|
"is-product-in-list": &isProductInListCallParser{},
|
||||||
"is-vendor-board-qcom": &isVendorBoardQcomCallParser{},
|
"is-vendor-board-platform": &isVendorBoardPlatformCallParser{},
|
||||||
"lastword": &firstOrLastwordCallParser{isLastWord: true},
|
"is-vendor-board-qcom": &isVendorBoardQcomCallParser{},
|
||||||
"notdir": &simpleCallParser{name: baseName + ".notdir", returnType: starlarkTypeString, addGlobals: false},
|
"lastword": &firstOrLastwordCallParser{isLastWord: true},
|
||||||
"math_max": &mathMaxOrMinCallParser{function: "max"},
|
"notdir": &simpleCallParser{name: baseName + ".notdir", returnType: starlarkTypeString},
|
||||||
"math_min": &mathMaxOrMinCallParser{function: "min"},
|
"math_max": &mathMaxOrMinCallParser{function: "max"},
|
||||||
"math_gt_or_eq": &mathComparisonCallParser{op: ">="},
|
"math_min": &mathMaxOrMinCallParser{function: "min"},
|
||||||
"math_gt": &mathComparisonCallParser{op: ">"},
|
"math_gt_or_eq": &mathComparisonCallParser{op: ">="},
|
||||||
"math_lt": &mathComparisonCallParser{op: "<"},
|
"math_gt": &mathComparisonCallParser{op: ">"},
|
||||||
"my-dir": &myDirCallParser{},
|
"math_lt": &mathComparisonCallParser{op: "<"},
|
||||||
"patsubst": &substCallParser{fname: "patsubst"},
|
"my-dir": &myDirCallParser{},
|
||||||
"product-copy-files-by-pattern": &simpleCallParser{name: baseName + ".product_copy_files_by_pattern", returnType: starlarkTypeList, addGlobals: false},
|
"patsubst": &substCallParser{fname: "patsubst"},
|
||||||
"require-artifacts-in-path": &simpleCallParser{name: baseName + ".require_artifacts_in_path", returnType: starlarkTypeVoid, addGlobals: false},
|
"product-copy-files-by-pattern": &simpleCallParser{name: baseName + ".product_copy_files_by_pattern", returnType: starlarkTypeList},
|
||||||
"require-artifacts-in-path-relaxed": &simpleCallParser{name: baseName + ".require_artifacts_in_path_relaxed", returnType: starlarkTypeVoid, addGlobals: false},
|
"require-artifacts-in-path": &simpleCallParser{name: baseName + ".require_artifacts_in_path", returnType: starlarkTypeVoid},
|
||||||
|
"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
|
// TODO(asmundak): remove it once all calls are removed from configuration makefiles. see b/183161002
|
||||||
"shell": &shellCallParser{},
|
"shell": &shellCallParser{},
|
||||||
"strip": &simpleCallParser{name: baseName + ".mkstrip", returnType: starlarkTypeString, addGlobals: false},
|
"strip": &simpleCallParser{name: baseName + ".mkstrip", returnType: starlarkTypeString},
|
||||||
"subst": &substCallParser{fname: "subst"},
|
"subst": &substCallParser{fname: "subst"},
|
||||||
"warning": &makeControlFuncParser{name: baseName + ".mkwarning"},
|
"warning": &makeControlFuncParser{name: baseName + ".mkwarning"},
|
||||||
"word": &wordCallParser{},
|
"word": &wordCallParser{},
|
||||||
"wildcard": &simpleCallParser{name: baseName + ".expand_wildcard", returnType: starlarkTypeList, addGlobals: false},
|
"wildcard": &simpleCallParser{name: baseName + ".expand_wildcard", returnType: starlarkTypeList},
|
||||||
}
|
}
|
||||||
|
|
||||||
// These are functions that we don't implement conversions for, but
|
// These are functions that we don't implement conversions for, but
|
||||||
@@ -1311,6 +1312,7 @@ type simpleCallParser struct {
|
|||||||
name string
|
name string
|
||||||
returnType starlarkType
|
returnType starlarkType
|
||||||
addGlobals bool
|
addGlobals bool
|
||||||
|
addHandle bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *simpleCallParser) parse(ctx *parseContext, node mkparser.Node, args *mkparser.MakeString) starlarkExpr {
|
func (p *simpleCallParser) parse(ctx *parseContext, node mkparser.Node, args *mkparser.MakeString) starlarkExpr {
|
||||||
@@ -1318,6 +1320,9 @@ func (p *simpleCallParser) parse(ctx *parseContext, node mkparser.Node, args *mk
|
|||||||
if p.addGlobals {
|
if p.addGlobals {
|
||||||
expr.args = append(expr.args, &globalsExpr{})
|
expr.args = append(expr.args, &globalsExpr{})
|
||||||
}
|
}
|
||||||
|
if p.addHandle {
|
||||||
|
expr.args = append(expr.args, &identifierExpr{name: "handle"})
|
||||||
|
}
|
||||||
for _, arg := range args.Split(",") {
|
for _, arg := range args.Split(",") {
|
||||||
arg.TrimLeftSpaces()
|
arg.TrimLeftSpaces()
|
||||||
arg.TrimRightSpaces()
|
arg.TrimRightSpaces()
|
||||||
|
@@ -739,6 +739,7 @@ $(call enforce-product-packages-exist, foo)
|
|||||||
$(call require-artifacts-in-path, foo, bar)
|
$(call require-artifacts-in-path, foo, bar)
|
||||||
$(call require-artifacts-in-path-relaxed, foo, bar)
|
$(call require-artifacts-in-path-relaxed, foo, bar)
|
||||||
$(call dist-for-goals, goal, from:to)
|
$(call dist-for-goals, goal, from:to)
|
||||||
|
$(call add-product-dex-preopt-module-config,MyModule,disable)
|
||||||
`,
|
`,
|
||||||
expected: `load("//build/make/core:product_config.rbc", "rblf")
|
expected: `load("//build/make/core:product_config.rbc", "rblf")
|
||||||
|
|
||||||
@@ -749,6 +750,7 @@ def init(g, handle):
|
|||||||
rblf.require_artifacts_in_path("foo", "bar")
|
rblf.require_artifacts_in_path("foo", "bar")
|
||||||
rblf.require_artifacts_in_path_relaxed("foo", "bar")
|
rblf.require_artifacts_in_path_relaxed("foo", "bar")
|
||||||
rblf.mkdist_for_goals(g, "goal", "from:to")
|
rblf.mkdist_for_goals(g, "goal", "from:to")
|
||||||
|
rblf.add_product_dex_preopt_module_config(handle, "MyModule", "disable")
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user