Automated rollback of commit 92f7b58672baffe5a230f675d7197c2a10892284.

*** Reason for rollback ***

Breakage in blaze nightly

*** Original change description ***

Get rid of unused j2objc module map

PiperOrigin-RevId: 389885762
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
index 9ebce70..416136d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
@@ -1681,6 +1681,47 @@
     return Optional.fromNullable(pchHdr);
   }
 
+  /**
+   * Registers an action that will generate a clang module map for this target, using the hdrs
+   * attribute of this rule.
+   */
+  public CompilationSupport registerGenerateModuleMapAction(
+      CompilationArtifacts compilationArtifacts) throws RuleErrorException, InterruptedException {
+    // TODO(bazel-team): Include textual headers in the module map when Xcode 6 support is
+    // dropped.
+    // TODO(b/32225593): Include private headers in the module map.
+    CcCompilationHelper ccCompilationHelper =
+        new CcCompilationHelper(
+            ruleContext,
+            ruleContext,
+            ruleContext.getLabel(),
+            CppHelper.getGrepIncludes(ruleContext),
+            cppSemantics,
+            getFeatureConfigurationForSwiftModuleMap(
+                ruleContext, toolchain, buildConfiguration, cppSemantics),
+            CcCompilationHelper.SourceCategory.CC_AND_OBJC,
+            toolchain,
+            toolchain.getFdoContext(),
+            buildConfiguration,
+            TargetUtils.getExecutionInfo(
+                ruleContext.getRule(), ruleContext.isAllowTagsPropagation()),
+            /* shouldProcessHeaders= */ false);
+
+    ImmutableSortedSet<Artifact> publicHeaders =
+        Stream.concat(
+                attributes.hdrs().toList().stream(),
+                compilationArtifacts.getAdditionalHdrs().toList().stream())
+            .collect(toImmutableSortedSet(naturalOrder()));
+
+    CppModuleMap moduleMap = intermediateArtifacts.swiftModuleMap();
+
+    ccCompilationHelper.setCppModuleMap(moduleMap).addPublicHeaders(publicHeaders);
+
+    ccCompilationHelper.compile(ruleContext);
+
+    return this;
+  }
+
   /** Registers an action to generate an extra clang module map. */
   private CompilationSupport generateExtraModuleMap(
       CppModuleMap moduleMap,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java
index 0c3a230..af23d4a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java
@@ -39,8 +39,11 @@
  * linking into the final application bundle. See {@link J2ObjcLibraryBaseRule} for details.
  */
 public class J2ObjcLibrary implements RuleConfiguredTargetFactory {
+  private final CppSemantics cppSemantics;
 
-  protected J2ObjcLibrary(CppSemantics cppSemantics) {}
+  protected J2ObjcLibrary(CppSemantics cppSemantics) {
+    this.cppSemantics = cppSemantics;
+  }
 
   public static final String NO_ENTRY_CLASS_ERROR_MSG =
       "Entry classes must be specified when flag --compilation_mode=opt is on in order to"
@@ -59,6 +62,7 @@
         .addDirectCcCompilationContexts(
             j2objcCcInfos.stream().map(J2ObjcCcInfo::getCcInfo).collect(toList()))
         .setIntermediateArtifacts(ObjcRuleClasses.intermediateArtifacts(ruleContext))
+        .setHasModuleMap()
         .build();
   }
 
@@ -83,6 +87,18 @@
         J2ObjcMappingFileProvider.union(
             ruleContext.getPrerequisites("deps", J2ObjcMappingFileProvider.PROVIDER));
 
+    CompilationArtifacts moduleMapCompilationArtifacts =
+        new CompilationArtifacts.Builder()
+            .setIntermediateArtifacts(ObjcRuleClasses.intermediateArtifacts(ruleContext))
+            .build();
+
+    new CompilationSupport.Builder(ruleContext, cppSemantics)
+        .setIntermediateArtifacts(ObjcRuleClasses.intermediateArtifacts(ruleContext))
+        .doNotUsePch()
+        .build()
+        .registerGenerateModuleMapAction(moduleMapCompilationArtifacts)
+        .validateAttributes();
+
     return new RuleConfiguredTargetBuilder(ruleContext)
         .setFilesToBuild(NestedSetBuilder.<Artifact>emptySet(STABLE_ORDER))
         .add(RunfilesProvider.class, RunfilesProvider.EMPTY)