Merge "release_config: cleanup how default values are used" into main

This commit is contained in:
LaMont Jones
2024-03-28 23:07:25 +00:00
committed by Gerrit Code Review

View File

@@ -179,18 +179,23 @@ def release_config(all_flags, all_values):
validate(all_flags, _all_flags_schema)
validate(all_values, _all_values_schema)
# Final values.
values = {}
# Validate flags
flag_names = []
flags_dict = {}
for flag in all_flags:
if flag["name"] in flag_names:
if equal_flag_declaration(flag, flags_dict[flag["name"]]):
name = flag["name"]
if name in flag_names:
if equal_flag_declaration(flag, flags_dict[name]):
continue
else:
fail(flag["declared_in"] + ": Duplicate declaration of flag " + flag["name"] +
" (declared first in " + flags_dict[flag["name"]]["declared_in"] + ")")
flag_names.append(flag["name"])
flags_dict[flag["name"]] = flag
fail(flag["declared_in"] + ": Duplicate declaration of flag " + name +
" (declared first in " + flags_dict[name]["declared_in"] + ")")
flag_names.append(name)
flags_dict[name] = flag
# Set the flag value to the default value.
values[name] = {"name": name, "value": _format_value(flag["default"]), "set_in": flag["declared_in"]}
# Record which flags go on which partition
partitions = {}
@@ -206,7 +211,6 @@ def release_config(all_flags, all_values):
# Generate final values.
# Only declared flags may have a value.
values = {}
for value in all_values:
name = value["name"]
if name not in flag_names:
@@ -227,19 +231,13 @@ def release_config(all_flags, all_values):
for partition, names in partitions.items():
result["_ALL_RELEASE_FLAGS.PARTITIONS." + partition] = names
for flag in all_flags:
if flag["name"] in values:
val = values[flag["name"]]["value"]
set_in = values[flag["name"]]["set_in"]
else:
val = flag["default"]
set_in = flag["declared_in"]
val = _format_value(val)
val = _format_value(values[flag["name"]]["value"])
result[flag["name"]] = val
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".PARTITIONS"] = flag["partitions"]
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".DEFAULT"] = _format_value(flag["default"])
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".VALUE"] = val
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".DECLARED_IN"] = flag["declared_in"]
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".SET_IN"] = set_in
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".SET_IN"] = values[flag["name"]]["set_in"]
result["_ALL_RELEASE_FLAGS." + flag["name"] + ".ORIGIN"] = flag["origin"]
return result