Merge "Add 'origin' parameter to flag declarations" into main am: da552368e0 am: 57c2dcffe3

Original change: https://android-review.googlesource.com/c/platform/build/+/3008717

Change-Id: I230b60c6f3bc22b8d96d3136df30c5ed796c9258
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2024-03-21 01:25:46 +00:00
committed by Automerger Merge Worker

View File

@@ -53,6 +53,7 @@ _all_flags_schema = {
for t in _valid_types
],
},
"origin": {"type": "string"},
"declared_in": {"type": "string"},
},
"optional_keys": {
@@ -80,13 +81,14 @@ _all_values_schema = {
},
}
def flag(name, partitions, default, *, appends = False):
def flag(name, partitions, default, *, origin = "Unknown", appends = False):
"""Declare a flag.
Args:
name: name of the flag
partitions: the partitions where this should be recorded.
default: the default value of the flag.
origin: The origin of this flag.
appends: Whether new values should be append (not replace) the old.
Returns:
@@ -112,6 +114,7 @@ def flag(name, partitions, default, *, appends = False):
"partitions": partitions,
"default": default,
"appends": appends,
"origin": origin,
}
def value(name, value):
@@ -158,7 +161,10 @@ def equal_flag_declaration(flag, other):
for key in "name", "partitions", "default", "appends":
if flag[key] != other[key]:
return False
return True
# For now, allow Unknown to match any other origin.
if flag["origin"] == "Unknown" or other["origin"] == "Unknown":
return True
return flag["origin"] == other["origin"]
def release_config(all_flags, all_values):
"""Return the make variables that should be set for this release config.
@@ -234,5 +240,6 @@ def release_config(all_flags, all_values):
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"] + ".ORIGIN"] = flag["origin"]
return result