diff --git a/tools/cargo_embargo/src/bp.rs b/tools/cargo_embargo/src/bp.rs index f660aed3f..5c661dc27 100644 --- a/tools/cargo_embargo/src/bp.rs +++ b/tools/cargo_embargo/src/bp.rs @@ -118,6 +118,7 @@ impl BpProperties { "target", "ld_flags", "apex_available", + "visibility", ]; let mut props: Vec<(&String, &BpValue)> = self.map.iter().collect(); props.sort_by_key(|(k, _)| { diff --git a/tools/cargo_embargo/src/main.rs b/tools/cargo_embargo/src/main.rs index b39af222b..d0243451f 100644 --- a/tools/cargo_embargo/src/main.rs +++ b/tools/cargo_embargo/src/main.rs @@ -103,6 +103,9 @@ struct Config { /// Modules in this list will not be generated. #[serde(default)] module_blocklist: Vec, + /// Modules name => Soong "visibility" property. + #[serde(default)] + module_visibility: BTreeMap>, } /// Options that apply to everything in a package (i.e. everything associated with a particular @@ -569,6 +572,10 @@ fn crate_to_bp_modules( m.props.set("apex_available", cfg.apex_available.clone()); } + if let Some(visibility) = cfg.module_visibility.get(module_name) { + m.props.set("visibility", visibility.clone()); + } + if let Some(path) = &package_cfg.add_module_block { let content = std::fs::read_to_string(path) .with_context(|| format!("failed to read {path:?}"))?;