diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-03-21 00:50:36 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-03-21 00:50:36 +0000 |
commit | da552368e0e4b7df4a760ab46dbcc19993a46c68 (patch) | |
tree | 7afbee79e06614152ed1aa3bd9f839da7dc5f370 | |
parent | d5d876a9a98ee2e569826b44be6a8e97e5c69ca6 (diff) | |
parent | 9ee098e25b50f2dab50f3b1491b48b6ef7036346 (diff) | |
download | build-da552368e0e4b7df4a760ab46dbcc19993a46c68.tar.gz |
Merge "Add 'origin' parameter to flag declarations" into main
-rw-r--r-- | core/release_config.scl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/core/release_config.scl b/core/release_config.scl index 629e22328a..728fc1b399 100644 --- a/core/release_config.scl +++ b/core/release_config.scl @@ -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 |