Return product config variables from board_configuration

The board config can actually change a few product config
variables that are not made read-only.

Bug: 201700692
Test: ./build/bazel/ci/rbc_regression_test.sh -b aosp_cf_x86_64_phone
Change-Id: Ib2ac04ac2c5a56d32bca51fc8189e44e180075ee
This commit is contained in:
Cole Faust 2021-11-22 16:31:46 -08:00
parent 351cd2e489
commit f0d7d8ff73

View file

@ -207,13 +207,21 @@ def _product_configuration(top_pcm_name, top_pcm, version_info):
return (globals, configs[top_pcm_name][1], globals_base)
def _dictionary_difference(a, b):
result = {}
for attr, val in a.items():
if attr not in b or b[attr] != val:
result[attr] = val
return result
def _board_configuration(board_config_init, input_variables_init):
globals = {}
h = __h_new()
input_variables_init(globals, h)
cfg_base = dict(**h[0])
globals_base = dict(**globals)
board_config_init(globals, h)
return (globals, h[1], globals_base)
return (globals, _dictionary_difference(h[0], cfg_base), globals_base)
def _substitute_inherited(configs, pcm_name, cfg):