Consider module_name_overrides for the Trusty dirgroup module

This is necessary to support multiple versions of a crate in Trusty.
It also mirrors the logic currently existing for the license module.

Bug: 390707617
Test: m cargo_embargo
Test: Confirm that a module_name_override of
Test: `trusty_dirgroup_external_rust_crates_zerocopy` affects
Test: the generated Android.bp in extra_versions
Test: atest cargo_embargo.test
Change-Id: Ibd65a2bc6616f459e2da224b4aed2eb46729fec1
diff --git a/tools/cargo_embargo/src/main.rs b/tools/cargo_embargo/src/main.rs
index 7e80775..fb417f3 100644
--- a/tools/cargo_embargo/src/main.rs
+++ b/tools/cargo_embargo/src/main.rs
@@ -654,9 +654,10 @@
             )?;
         }
     }
+    let main_module_name_overrides = &cfg.variants.first().unwrap().module_name_overrides;
     if !mk_contents.is_empty() {
         // If rules.mk is generated, then make it accessible via dirgroup.
-        bp_contents += &generate_android_bp_for_rules_mk(package_name)?;
+        bp_contents += &generate_android_bp_for_rules_mk(package_name, main_module_name_overrides)?;
     }
 
     let def = PackageConfig::default();
@@ -673,7 +674,7 @@
             package_cfg,
             read_license_header(&output_path, true)?.trim(),
             crates,
-            &cfg.variants.first().unwrap().module_name_overrides,
+            main_module_name_overrides,
         )?;
         let bp_contents = package_header + &bp_contents;
         write_format_android_bp(&output_path, &bp_contents, package_cfg.patch.as_deref())?;
@@ -928,11 +929,19 @@
 }
 
 /// Generates and returns a Soong Blueprint for a Trusty rules.mk
-fn generate_android_bp_for_rules_mk(package_name: &str) -> Result<String> {
+fn generate_android_bp_for_rules_mk(
+    package_name: &str,
+    module_name_overrides: &BTreeMap<String, String>,
+) -> Result<String> {
     let mut bp_contents = String::new();
 
     let mut m = BpModule::new("dirgroup".to_string());
-    m.props.set("name", format!("trusty_dirgroup_external_rust_crates_{}", package_name));
+
+    let default_dirgroup_name = format!("trusty_dirgroup_external_rust_crates_{}", package_name);
+    let dirgroup_name =
+        override_module_name(&default_dirgroup_name, &[], module_name_overrides, &RENAME_MAP)
+            .unwrap_or(default_dirgroup_name);
+    m.props.set("name", dirgroup_name);
     m.props.set("dirs", vec!["."]);
     m.props.set("visibility", vec!["//trusty/vendor/google/aosp/scripts"]);