Clean up some code in register module map action This is an NFC. Get rid of a NestedSet that gets immediately flattened, and remove some resulting dead APIs. PiperOrigin-RevId: 354036229
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java index ac216f5..950b0e8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java
@@ -23,7 +23,6 @@ import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction; import com.google.devtools.build.lib.analysis.actions.DeterministicWriter; -import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.util.Fingerprint; @@ -52,14 +51,6 @@ public UmbrellaHeaderAction( ActionOwner owner, Artifact umbrellaHeader, - NestedSet<Artifact> publicHeaders, - Iterable<PathFragment> additionalExportedHeaders) { - this(owner, umbrellaHeader, publicHeaders.toList(), additionalExportedHeaders); - } - - public UmbrellaHeaderAction( - ActionOwner owner, - Artifact umbrellaHeader, Iterable<Artifact> publicHeaders, Iterable<PathFragment> additionalExportedHeaders) { super(
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 bf2583d..64078f6 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
@@ -1620,13 +1620,11 @@ * Registers an action that will generate a clang module map for this target, using the hdrs * attribute of this rule. */ - CompilationSupport registerGenerateModuleMapAction(CompilationArtifacts compilationArtifacts) - throws RuleErrorException, InterruptedException { + 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. - // Both registerGenerateModuleMapAction and registerGenerateUmbrellaHeaderAction make a copy, - // so flattening eagerly here using toList() is acceptable. ObjcCppSemantics semantics = createObjcCppSemantics(); CcCompilationHelper ccCompilationHelper = new CcCompilationHelper( @@ -1644,15 +1642,15 @@ ruleContext.getRule(), ruleContext.isAllowTagsPropagation()), /* shouldProcessHeaders= */ false); - NestedSet<Artifact> publicHeaders = - NestedSetBuilder.<Artifact>stableOrder() - .addTransitive(attributes.hdrs()) - .addTransitive(compilationArtifacts.getAdditionalHdrs()) - .build(); + ImmutableSortedSet<Artifact> publicHeaders = + Stream.concat( + attributes.hdrs().toList().stream(), + compilationArtifacts.getAdditionalHdrs().toList().stream()) + .collect(toImmutableSortedSet(naturalOrder())); CppModuleMap moduleMap = intermediateArtifacts.moduleMap(); - ccCompilationHelper.setCppModuleMap(moduleMap).addPublicHeaders(publicHeaders.toList()); + ccCompilationHelper.setCppModuleMap(moduleMap).addPublicHeaders(publicHeaders); ccCompilationHelper.compile(ruleContext); @@ -1667,18 +1665,6 @@ * @return this compilation support */ public CompilationSupport registerGenerateModuleMapAction( - CppModuleMap moduleMap, NestedSet<Artifact> publicHeaders) { - return registerGenerateModuleMapAction(moduleMap, publicHeaders.toList()); - } - - /** - * Registers an action that will generate a clang module map. - * - * @param moduleMap the module map to generate - * @param publicHeaders the headers that should be directly accessible by dependers - * @return this compilation support - */ - public CompilationSupport registerGenerateModuleMapAction( CppModuleMap moduleMap, Iterable<Artifact> publicHeaders) { publicHeaders = Iterables.filter(publicHeaders, CppFileTypes.MODULE_MAP_HEADER); ruleContext.registerAction( @@ -1689,10 +1675,10 @@ publicHeaders, attributes.moduleMapsForDirectDeps().toList(), ImmutableList.<PathFragment>of(), - /*compiledModule=*/ true, - /*moduleMapHomeIsCwd=*/ false, + /* compiledModule= */ true, + /* moduleMapHomeIsCwd= */ false, /* generateSubmodules= */ false, - /*externDependencies=*/ true)); + /* externDependencies= */ true)); return this; }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcImport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcImport.java index 82a008e..fc92ddf 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcImport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcImport.java
@@ -19,7 +19,6 @@ import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.RuleConfiguredTargetFactory; import com.google.devtools.build.lib.analysis.RuleContext; -import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.packages.Type; import com.google.devtools.build.lib.rules.cpp.CcCommon; @@ -53,7 +52,7 @@ NestedSetBuilder<Artifact> filesToBuild = NestedSetBuilder.stableOrder(); - NestedSet<Artifact> publicHeaders = compilationAttributes.hdrs(); + Iterable<Artifact> publicHeaders = compilationAttributes.hdrs().toList(); CppModuleMap moduleMap = intermediateArtifacts.moduleMap(); new CompilationSupport.Builder()