Convert "-" to "" when generating module name

RELNOTES: None.
PiperOrigin-RevId: 184492828
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
index 4619758..0cc7fa9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
@@ -431,9 +431,9 @@
             .toString()
             .replace("//", "")
             .replace("@", "")
+            .replace("-", "_")
             .replace("/", "_")
             .replace(":", "_");
- 
     Optional<Artifact> customModuleMap = CompilationSupport.getCustomModuleMap(ruleContext);
     if (customModuleMap.isPresent()) {
       return new CppModuleMap(customModuleMap.get(), moduleName);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
index 4a15990..b477492 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
@@ -598,17 +598,18 @@
     useConfiguration(
         "--crosstool_top=" + MockObjcSupport.DEFAULT_OSX_CROSSTOOL,
         "--experimental_objc_enable_module_maps");
-    createLibraryTargetWriter("//objc:lib")
+    String target = "//objc/library:lib@a-foo_foobar";
+    createLibraryTargetWriter(target)
         .setAndCreateFiles("srcs", "a.m", "b.m", "private.h")
         .setAndCreateFiles("hdrs", "c.h")
         .write();
 
-    CommandAction compileActionA = compileAction("//objc:lib", "a.o");
+    CommandAction compileActionA = compileAction(target, "a.o");
     assertThat(compileActionA.getArguments())
-        .containsAllIn(moduleMapArtifactArguments("//objc", "lib"));
+        .containsAllIn(moduleMapArtifactArguments("//objc/library", "lib@a-foo_foobar"));
     assertThat(compileActionA.getArguments()).contains("-fmodule-maps");
     assertThat(Artifact.toRootRelativePaths(compileActionA.getInputs()))
-        .doesNotContain("objc/lib.modulemaps/module.modulemap");
+        .doesNotContain("objc/library/lib@a-foo_foobar.modulemaps/module.modulemap");
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
index 6aa0963..d062a9f 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
@@ -380,7 +380,13 @@
     Artifact moduleMapArtifact =
         getGenfilesArtifact(
             targetName + ".modulemaps/module.modulemap", packagePath + ":" + targetName);
-    String moduleName = packagePath.replace("//", "").replace("/", "_") + "_" + targetName;
+    String moduleName =
+        (packagePath + "_" + targetName)
+            .replace("//", "")
+            .replace("@", "")
+            .replace("-", "_")
+            .replace("/", "_")
+            .replace(":", "_");
 
     return ImmutableList.of("-iquote",
         moduleMapArtifact.getExecPath().getParentDirectory().toString(),