aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-03-21 00:50:36 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-03-21 00:50:36 +0000
commitda552368e0e4b7df4a760ab46dbcc19993a46c68 (patch)
tree7afbee79e06614152ed1aa3bd9f839da7dc5f370
parentd5d876a9a98ee2e569826b44be6a8e97e5c69ca6 (diff)
parent9ee098e25b50f2dab50f3b1491b48b6ef7036346 (diff)
downloadbuild-da552368e0e4b7df4a760ab46dbcc19993a46c68.tar.gz
Merge "Add 'origin' parameter to flag declarations" into main
-rw-r--r--core/release_config.scl11
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