Revert "Reapply "release_config: build flags can be lists""
Revert submission 2815850-product-flags
Reason for revert: b/309477343
Reverted changes: /q/submissionid:2815850-product-flags
Bug: 302593603
Bug: 309477343
Change-Id: Ifda3b0cdfb3524595af693156c6dc162c391a55a
diff --git a/core/release_config.bzl b/core/release_config.bzl
index a29f3f2..0c08858 100644
--- a/core/release_config.bzl
+++ b/core/release_config.bzl
@@ -55,11 +55,6 @@
},
"declared_in": {"type": "string"},
},
- "optional_keys": {
- "appends": {
- "type": "bool",
- },
- },
},
}
@@ -80,23 +75,17 @@
},
}
-def flag(name, partitions, default, _kwmarker = (), appends = False):
+def flag(name, partitions, default):
"""Declare a flag.
Args:
name: name of the flag
partitions: the partitions where this should be recorded.
default: the default value of the flag.
- _kwmarker: Used to detect argument misuse.
- appends: Whether new values should be append (not replace) the old.
Returns:
A dictionary containing the flag declaration.
"""
-
- # If specified, appends must be a keyword value.
- if _kwmarker != ():
- fail("Too many positional parameters")
if not partitions:
fail("At least 1 partition is required")
if not name.startswith("RELEASE_"):
@@ -116,7 +105,6 @@
"name": name,
"partitions": partitions,
"default": default,
- "appends": appends,
}
def value(name, value):
@@ -165,12 +153,10 @@
# Validate flags
flag_names = []
- flags_dict = {}
for flag in all_flags:
if flag["name"] in flag_names:
fail(flag["declared_in"] + ": Duplicate declaration of flag " + flag["name"])
flag_names.append(flag["name"])
- flags_dict[flag["name"]] = flag
# Record which flags go on which partition
partitions = {}
@@ -184,21 +170,13 @@
else:
partitions.setdefault(partition, []).append(flag["name"])
- # Generate final values.
- # Only declared flags may have a value.
+ # Validate values
+ # TODO(joeo): Disallow duplicate values after we've split AOSP and vendor flags.
values = {}
for value in all_values:
- name = value["name"]
- if name not in flag_names:
- fail(value["set_in"] + ": Value set for undeclared build flag: " + name)
- if flags_dict[name]["appends"]:
- if name in values:
- values[name]["value"] += " " + value["value"]
- values[name]["set_in"] += " " + value["set_in"]
- else:
- values[name] = value
- else:
- values[name] = value
+ if value["name"] not in flag_names:
+ fail(value["set_in"] + ": Value set for undeclared build flag: " + value["name"])
+ values[value["name"]] = value
# Collect values
result = {