Add soong_config_get
Having a function to get soong config variables makes it easier to convert to starlark. Bug: 201700692 Test: m RBC_PRODUCT_CONFIG=1 RBC_BOARD_CONFIG=1 nothing and check output files Change-Id: I8627555df10d3f66f6154c00be9f0565076f1f94
This commit is contained in:
@@ -304,7 +304,7 @@ $(eval SOONG_CONFIG_$(strip $1)_$(strip $2):=$3)
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
# soong_config_append appends to the value of the variable in the given Soong
|
# soong_config_append appends to the value of the variable in the given Soong
|
||||||
# config namespace. If the varabile does not exist, it will be defined. If the
|
# config namespace. If the variable does not exist, it will be defined. If the
|
||||||
# namespace does not exist, it will be defined.
|
# namespace does not exist, it will be defined.
|
||||||
# $1 is the namespace, $2 is the variable name, $3 is the value
|
# $1 is the namespace, $2 is the variable name, $3 is the value
|
||||||
define soong_config_append
|
define soong_config_append
|
||||||
@@ -312,6 +312,14 @@ $(call soong_config_define_internal,$1,$2) \
|
|||||||
$(eval SOONG_CONFIG_$(strip $1)_$(strip $2):=$(SOONG_CONFIG_$(strip $1)_$(strip $2)) $3)
|
$(eval SOONG_CONFIG_$(strip $1)_$(strip $2):=$(SOONG_CONFIG_$(strip $1)_$(strip $2)) $3)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# soong_config_append gets to the value of the variable in the given Soong
|
||||||
|
# config namespace. If the namespace or variables does not exist, an
|
||||||
|
# empty string will be returned.
|
||||||
|
# $1 is the namespace, $2 is the variable name
|
||||||
|
define soong_config_get
|
||||||
|
$(SOONG_CONFIG_$(strip $1)_$(strip $2))
|
||||||
|
endef
|
||||||
|
|
||||||
# Set the extensions used for various packages
|
# Set the extensions used for various packages
|
||||||
COMMON_PACKAGE_SUFFIX := .zip
|
COMMON_PACKAGE_SUFFIX := .zip
|
||||||
COMMON_JAVA_PACKAGE_SUFFIX := .jar
|
COMMON_JAVA_PACKAGE_SUFFIX := .jar
|
||||||
|
@@ -321,6 +321,11 @@ def _soong_config_append(g, nsname, var, value):
|
|||||||
ns[var] += " " + value
|
ns[var] += " " + value
|
||||||
|
|
||||||
|
|
||||||
|
def _soong_config_get(g, nsname, var):
|
||||||
|
"""Gets to the value of the variable in the namespace."""
|
||||||
|
return g.get(_soong_config_namespaces_key, {}).get(nsname, {}).get(var, None)
|
||||||
|
|
||||||
|
|
||||||
def _abspath(path):
|
def _abspath(path):
|
||||||
"""Provided for compatibility, to be removed later."""
|
"""Provided for compatibility, to be removed later."""
|
||||||
return path
|
return path
|
||||||
@@ -644,6 +649,7 @@ rblf = struct(
|
|||||||
soong_config_namespace = _soong_config_namespace,
|
soong_config_namespace = _soong_config_namespace,
|
||||||
soong_config_append = _soong_config_append,
|
soong_config_append = _soong_config_append,
|
||||||
soong_config_set = _soong_config_set,
|
soong_config_set = _soong_config_set,
|
||||||
|
soong_config_get = _soong_config_get,
|
||||||
abspath = _abspath,
|
abspath = _abspath,
|
||||||
addprefix = _addprefix,
|
addprefix = _addprefix,
|
||||||
addsuffix = _addsuffix,
|
addsuffix = _addsuffix,
|
||||||
|
@@ -61,7 +61,7 @@ else
|
|||||||
apex_test_module := art-check-release-apex-gen-fakebin
|
apex_test_module := art-check-release-apex-gen-fakebin
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (true,$(SOONG_CONFIG_art_module_source_build)
|
ifeq (true,$(call soong_config_get,art_module,source_build))
|
||||||
PRODUCT_HOST_PACKAGES += $(apex_test_module)
|
PRODUCT_HOST_PACKAGES += $(apex_test_module)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -94,3 +94,6 @@ assert_eq(
|
|||||||
|
|
||||||
assert_eq("S", globals["PLATFORM_VERSION"])
|
assert_eq("S", globals["PLATFORM_VERSION"])
|
||||||
assert_eq(30, globals["PLATFORM_SDK_VERSION"])
|
assert_eq(30, globals["PLATFORM_SDK_VERSION"])
|
||||||
|
|
||||||
|
assert_eq("xyz", rblf.soong_config_get(globals, "NS2", "v3"))
|
||||||
|
assert_eq(None, rblf.soong_config_get(globals, "NS2", "nonexistant_var"))
|
||||||
|
Reference in New Issue
Block a user