summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
author Zhi Dou <zhidou@google.com> 2025-03-13 11:30:13 -0700
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2025-03-13 11:30:13 -0700
commitb8503dbcc90835e1ba44b3d705ca427b338ffe06 (patch)
tree58d9e91a36d1e5327f8a8bdb755a74d4b231134b /tools
parentc660cee7d3d74a79049ff790bc68e00a544e5de1 (diff)
parent09c0883e1d32efb066c592b8f3d9b90c34390c57 (diff)
Merge "add allow package list" into main
Diffstat (limited to 'tools')
-rw-r--r--tools/aconfig/exported_flag_check/allow_flag_list.txt (renamed from tools/aconfig/exported_flag_check/allow_list.txt)0
-rw-r--r--tools/aconfig/exported_flag_check/allow_package_list.txt0
-rw-r--r--tools/aconfig/exported_flag_check/src/utils.rs26
3 files changed, 21 insertions, 5 deletions
diff --git a/tools/aconfig/exported_flag_check/allow_list.txt b/tools/aconfig/exported_flag_check/allow_flag_list.txt
index b9c81c4ae9..b9c81c4ae9 100644
--- a/tools/aconfig/exported_flag_check/allow_list.txt
+++ b/tools/aconfig/exported_flag_check/allow_flag_list.txt
diff --git a/tools/aconfig/exported_flag_check/allow_package_list.txt b/tools/aconfig/exported_flag_check/allow_package_list.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tools/aconfig/exported_flag_check/allow_package_list.txt
diff --git a/tools/aconfig/exported_flag_check/src/utils.rs b/tools/aconfig/exported_flag_check/src/utils.rs
index 2c30424067..3686fec739 100644
--- a/tools/aconfig/exported_flag_check/src/utils.rs
+++ b/tools/aconfig/exported_flag_check/src/utils.rs
@@ -60,9 +60,15 @@ pub(crate) fn get_exported_flags_from_binary_proto<R: Read>(
Ok(HashSet::from_iter(iter))
}
-fn get_allow_list() -> Result<HashSet<FlagId>> {
+fn get_allow_flag_list() -> Result<HashSet<FlagId>> {
let allow_list: HashSet<FlagId> =
- include_str!("../allow_list.txt").lines().map(|x| x.into()).collect();
+ include_str!("../allow_flag_list.txt").lines().map(|x| x.into()).collect();
+ Ok(allow_list)
+}
+
+fn get_allow_package_list() -> Result<HashSet<FlagId>> {
+ let allow_list: HashSet<FlagId> =
+ include_str!("../allow_package_list.txt").lines().map(|x| x.into()).collect();
Ok(allow_list)
}
@@ -73,7 +79,9 @@ pub(crate) fn check_all_exported_flags(
all_flags: &HashSet<FlagId>,
already_finalized_flags: &HashSet<FlagId>,
) -> Result<Vec<FlagId>> {
- let allow_list = get_allow_list()?;
+ let allow_flag_list = get_allow_flag_list()?;
+ let allow_package_list = get_allow_package_list()?;
+
let new_flags: Vec<FlagId> = all_flags
.difference(flags_used_with_flaggedapi_annotation)
.cloned()
@@ -81,11 +89,19 @@ pub(crate) fn check_all_exported_flags(
.difference(already_finalized_flags)
.cloned()
.collect::<HashSet<_>>()
- .difference(&allow_list)
+ .difference(&allow_flag_list)
+ .filter(|flag| {
+ if let Some(last_dot_index) = flag.rfind('.') {
+ let package_name = &flag[..last_dot_index];
+ !allow_package_list.contains(package_name)
+ } else {
+ true
+ }
+ })
.cloned()
.collect();
- Ok(new_flags.into_iter().collect())
+ Ok(new_flags)
}
#[cfg(test)]