diff options
author | 2025-03-13 11:30:13 -0700 | |
---|---|---|
committer | 2025-03-13 11:30:13 -0700 | |
commit | b8503dbcc90835e1ba44b3d705ca427b338ffe06 (patch) | |
tree | 58d9e91a36d1e5327f8a8bdb755a74d4b231134b /tools | |
parent | c660cee7d3d74a79049ff790bc68e00a544e5de1 (diff) | |
parent | 09c0883e1d32efb066c592b8f3d9b90c34390c57 (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.txt | 0 | ||||
-rw-r--r-- | tools/aconfig/exported_flag_check/src/utils.rs | 26 |
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)] |