Delete unnecessary arguments to compile/link register functions
This is an NFC. There is no need to pass toolchain/fdocontext into
those functions, because they can be (and are already) set when
creating the CompilationSupport object.
RELNOTES: None
PiperOrigin-RevId: 280505230
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
index 8c50b62..69fae7b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
@@ -163,13 +163,9 @@
.build();
compilationSupport
- .registerCompileAndArchiveActions(
- common.getCompilationArtifacts().get(), objcProvider, childToolchain)
+ .registerCompileAndArchiveActions(common.getCompilationArtifacts().get(), objcProvider)
.registerFullyLinkAction(
- objcProvider,
- intermediateArtifacts.strippedSingleArchitectureLibrary(),
- childToolchain,
- childToolchain.getFdoContext())
+ objcProvider, intermediateArtifacts.strippedSingleArchitectureLibrary())
.validateAttributes();
ruleContext.assertNoErrors();
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 caa3c27..5f76fca 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
@@ -131,7 +131,6 @@
import java.util.Set;
import java.util.TreeMap;
import java.util.stream.Stream;
-import javax.annotation.Nullable;
/**
* Support for rules that compile sources. Provides ways to determine files that should be output,
@@ -993,22 +992,17 @@
*
* @param compilationArtifacts collection of artifacts required for the compilation
* @param objcProvider provides all compiling and linking information to register these actions
- * @param toolchain the toolchain to be used in determining command lines
* @return this compilation support
* @throws RuleErrorException for invalid crosstool files
*/
CompilationSupport registerCompileAndArchiveActions(
- CompilationArtifacts compilationArtifacts,
- ObjcProvider objcProvider,
- CcToolchainProvider toolchain)
+ CompilationArtifacts compilationArtifacts, ObjcProvider objcProvider)
throws RuleErrorException, InterruptedException {
return registerCompileAndArchiveActions(
compilationArtifacts,
objcProvider,
ExtraCompileArgs.NONE,
- ImmutableList.<PathFragment>of(),
- toolchain,
- toolchain.getFdoContext());
+ ImmutableList.<PathFragment>of());
}
/**
@@ -1045,21 +1039,17 @@
* @param objcProvider provides all compiling and linking information to register these actions
* @param extraCompileArgs args to be added to compile actions
* @param priorityHeaders priority headers to be included before the dependency headers
- * @param ccToolchain the cpp toolchain provider, may be null
- * @param fdoContext the cpp FDO support provider, may be null
* @return this compilation support
* @throws RuleErrorException for invalid crosstool files
*/
- CompilationSupport registerCompileAndArchiveActions(
+ private CompilationSupport registerCompileAndArchiveActions(
CompilationArtifacts compilationArtifacts,
ObjcProvider objcProvider,
ExtraCompileArgs extraCompileArgs,
- Iterable<PathFragment> priorityHeaders,
- @Nullable CcToolchainProvider ccToolchain,
- @Nullable FdoContext fdoContext)
+ Iterable<PathFragment> priorityHeaders)
throws RuleErrorException, InterruptedException {
- Preconditions.checkNotNull(ccToolchain);
- Preconditions.checkNotNull(fdoContext);
+ Preconditions.checkNotNull(toolchain);
+ Preconditions.checkNotNull(toolchain.getFdoContext());
ObjcVariablesExtension.Builder extension =
new ObjcVariablesExtension.Builder()
.setRuleContext(ruleContext)
@@ -1082,8 +1072,8 @@
compilationArtifacts,
extension,
extraCompileArgs,
- ccToolchain,
- fdoContext,
+ toolchain,
+ toolchain.getFdoContext(),
priorityHeaders,
LinkTargetType.OBJC_ARCHIVE,
objList);
@@ -1098,8 +1088,8 @@
compilationArtifacts,
extension,
extraCompileArgs,
- ccToolchain,
- fdoContext,
+ toolchain,
+ toolchain.getFdoContext(),
priorityHeaders,
/* linkType */ null,
/* linkActionInput */ null);
@@ -1130,9 +1120,7 @@
common.getCompilationArtifacts().get(),
common.getObjcProvider(),
extraCompileArgs,
- priorityHeaders,
- toolchain,
- toolchain.getFdoContext());
+ priorityHeaders);
}
return this;
}
@@ -1149,8 +1137,7 @@
/**
* Registers any actions necessary to link this rule and its dependencies. Automatically infers
- * the toolchain from the configuration of this CompilationSupport - if a different toolchain is
- * required, use the custom toolchain override.
+ * the toolchain from the configuration of this CompilationSupport.
*
* <p>Dsym bundle is generated if {@link ObjcConfiguration#generateDsym()} is set.
*
@@ -1171,8 +1158,7 @@
J2ObjcMappingFileProvider j2ObjcMappingFileProvider,
J2ObjcEntryClassProvider j2ObjcEntryClassProvider,
ExtraLinkArgs extraLinkArgs,
- Iterable<Artifact> extraLinkInputs,
- CcToolchainProvider toolchain)
+ Iterable<Artifact> extraLinkInputs)
throws InterruptedException, RuleErrorException {
Iterable<Artifact> prunedJ2ObjcArchives =
computeAndStripPrunedJ2ObjcArchives(
@@ -1213,7 +1199,6 @@
.addVariableCategory(VariableCategory.EXECUTABLE_LINKING_VARIABLES);
Artifact binaryToLink = getBinaryToLink();
- FdoContext fdoContext = toolchain.getFdoContext();
CppLinkActionBuilder executableLinkAction =
new CppLinkActionBuilder(
ruleContext,
@@ -1222,7 +1207,7 @@
binaryToLink,
ruleContext.getConfiguration(),
toolchain,
- fdoContext,
+ toolchain.getFdoContext(),
getFeatureConfiguration(ruleContext, toolchain, buildConfiguration, objcProvider),
createObjcCppSemantics(
objcProvider, /* privateHdrs= */ ImmutableList.of(), /* pchHdr= */ null))
@@ -1350,32 +1335,12 @@
*
* @param objcProvider provides all compiling and linking information to create this artifact
* @param outputArchive the output artifact for this action
- */
- public CompilationSupport registerFullyLinkAction(
- ObjcProvider objcProvider, Artifact outputArchive)
- throws InterruptedException, RuleErrorException {
- return registerFullyLinkAction(
- objcProvider, outputArchive, toolchain, toolchain.getFdoContext());
- }
-
- /**
- * Registers an action to create an archive artifact by fully (statically) linking all transitive
- * dependencies of this rule.
- *
- * @param objcProvider provides all compiling and linking information to create this artifact
- * @param outputArchive the output artifact for this action
- * @param ccToolchain the cpp toolchain provider, may be null
- * @param fdoContext the cpp FDO support provider, may be null
* @return this {@link CompilationSupport} instance
*/
- CompilationSupport registerFullyLinkAction(
- ObjcProvider objcProvider,
- Artifact outputArchive,
- @Nullable CcToolchainProvider ccToolchain,
- @Nullable FdoContext fdoContext)
+ CompilationSupport registerFullyLinkAction(ObjcProvider objcProvider, Artifact outputArchive)
throws InterruptedException, RuleErrorException {
- Preconditions.checkNotNull(ccToolchain);
- Preconditions.checkNotNull(fdoContext);
+ Preconditions.checkNotNull(toolchain);
+ Preconditions.checkNotNull(toolchain.getFdoContext());
PathFragment labelName = PathFragment.create(ruleContext.getLabel().getName());
String libraryIdentifier =
ruleContext
@@ -1399,9 +1364,9 @@
ruleContext.getLabel(),
outputArchive,
ruleContext.getConfiguration(),
- ccToolchain,
- fdoContext,
- getFeatureConfiguration(ruleContext, ccToolchain, buildConfiguration, objcProvider),
+ toolchain,
+ toolchain.getFdoContext(),
+ getFeatureConfiguration(ruleContext, toolchain, buildConfiguration, objcProvider),
createObjcCppSemantics(
objcProvider, /* privateHdrs= */ ImmutableList.of(), /* pchHdr= */ null))
.setGrepIncludes(CppHelper.getGrepIncludes(ruleContext))
@@ -1410,7 +1375,7 @@
.addActionInputs(objcProvider.getObjcLibraries())
.addActionInputs(objcProvider.getCcLibraries())
.addActionInputs(objcProvider.get(IMPORTED_LIBRARY).toSet())
- .setLinkerFiles(ccToolchain.getLinkerFiles())
+ .setLinkerFiles(toolchain.getLinkerFiles())
.setLinkType(LinkTargetType.OBJC_FULLY_LINKED_ARCHIVE)
.setLinkingMode(LinkingMode.STATIC)
.setLibraryIdentifier(libraryIdentifier)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
index fec9562..bc635bc 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
@@ -59,7 +59,6 @@
import com.google.devtools.build.lib.rules.cpp.CppConfiguration;
import com.google.devtools.build.lib.rules.cpp.CppHelper;
import com.google.devtools.build.lib.rules.cpp.CppRuleClasses;
-import com.google.devtools.build.lib.rules.cpp.FdoContext;
import com.google.devtools.build.lib.rules.java.JavaCommon;
import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
import com.google.devtools.build.lib.rules.java.JavaConfiguration;
@@ -273,7 +272,6 @@
try {
CcToolchainProvider ccToolchain =
CppHelper.getToolchain(ruleContext, ":j2objc_cc_toolchain");
- FdoContext fdoContext = ccToolchain.getFdoContext();
CompilationSupport compilationSupport =
new CompilationSupport.Builder()
.setRuleContext(ruleContext)
@@ -284,17 +282,10 @@
compilationSupport
.registerCompileAndArchiveActions(
- common.getCompilationArtifacts().get(),
- common.getObjcProvider(),
- EXTRA_COMPILE_ARGS,
- ImmutableList.<PathFragment>of(),
- ccToolchain,
- fdoContext)
+ common, EXTRA_COMPILE_ARGS, ImmutableList.<PathFragment>of())
.registerFullyLinkAction(
common.getObjcProvider(),
- ruleContext.getImplicitOutputArtifact(CompilationSupport.FULLY_LINKED_LIB),
- ccToolchain,
- fdoContext);
+ ruleContext.getImplicitOutputArtifact(CompilationSupport.FULLY_LINKED_LIB));
} catch (RuleErrorException e) {
ruleContext.ruleError(e.getMessage());
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
index 56d39ff..c52edaf 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
@@ -180,15 +180,13 @@
.build();
compilationSupport
- .registerCompileAndArchiveActions(
- compilationArtifacts, objcProvider, dependencySpecificConfiguration.toolchain())
+ .registerCompileAndArchiveActions(compilationArtifacts, objcProvider)
.registerLinkActions(
objcProvider,
j2ObjcMappingFileProvider,
j2ObjcEntryClassProvider,
extraLinkArgs,
- extraLinkInputs,
- dependencySpecificConfiguration.toolchain())
+ extraLinkInputs)
.validateAttributes();
ruleContext.assertNoErrors();
}