aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java51
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java20
2 files changed, 25 insertions, 46 deletions
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 6faaa1958a..e79c118830 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
@@ -59,6 +59,7 @@ import com.google.common.collect.Streams;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.CommandLine;
+import com.google.devtools.build.lib.actions.ParamFileInfo;
import com.google.devtools.build.lib.actions.ParameterFile;
import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
import com.google.devtools.build.lib.analysis.FilesToRunProvider;
@@ -121,7 +122,6 @@ import com.google.devtools.build.lib.rules.objc.ObjcProvider.Flag;
import com.google.devtools.build.lib.rules.objc.ObjcVariablesExtension.VariableCategory;
import com.google.devtools.build.lib.util.FileTypeSet;
import com.google.devtools.build.lib.util.Pair;
-import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.ArrayList;
import java.util.Arrays;
@@ -1152,13 +1152,13 @@ public class CompilationSupport {
CppHelper.getFdoSupportUsingDefaultCcToolchainAttribute(ruleContext);
CppLinkActionBuilder executableLinkAction =
new CppLinkActionBuilder(
- ruleContext,
- binaryToLink,
- toolchain,
- fdoSupport,
- getFeatureConfiguration(ruleContext, toolchain, buildConfiguration, objcProvider),
- createObjcCppSemantics(
- objcProvider, /* privateHdrs= */ ImmutableList.of(), /* pchHdr= */ null))
+ ruleContext,
+ binaryToLink,
+ toolchain,
+ fdoSupport,
+ getFeatureConfiguration(ruleContext, toolchain, buildConfiguration, objcProvider),
+ createObjcCppSemantics(
+ objcProvider, /* privateHdrs= */ ImmutableList.of(), /* pchHdr= */ null))
.setMnemonic("ObjcLink")
.addActionInputs(bazelBuiltLibraries)
.addActionInputs(objcProvider.getCcLibraries())
@@ -1319,13 +1319,13 @@ public class CompilationSupport {
.build();
CppLinkAction fullyLinkAction =
new CppLinkActionBuilder(
- ruleContext,
- outputArchive,
- ccToolchain,
- fdoSupport,
- getFeatureConfiguration(ruleContext, ccToolchain, buildConfiguration, objcProvider),
- createObjcCppSemantics(
- objcProvider, /* privateHdrs= */ ImmutableList.of(), /* pchHdr= */ null))
+ ruleContext,
+ outputArchive,
+ ccToolchain,
+ fdoSupport,
+ getFeatureConfiguration(ruleContext, ccToolchain, buildConfiguration, objcProvider),
+ createObjcCppSemantics(
+ objcProvider, /* privateHdrs= */ ImmutableList.of(), /* pchHdr= */ null))
.addActionInputs(objcProvider.getObjcLibraries())
.addActionInputs(objcProvider.getCcLibraries())
.addActionInputs(objcProvider.get(IMPORTED_LIBRARY).toSet())
@@ -1478,13 +1478,6 @@ public class CompilationSupport {
j2ObjcMappingFileProvider.getArchiveSourceMappingFiles();
for (Artifact j2objcArchive : objcProvider.get(ObjcProvider.J2OBJC_LIBRARY)) {
- PathFragment paramFilePath =
- FileSystemUtils.replaceExtension(
- j2objcArchive.getOwner().toPathFragment(), ".param.j2objc");
- Artifact paramFile =
- ruleContext.getUniqueDirectoryArtifact(
- "_j2objc_pruned", paramFilePath,
- buildConfiguration.getBinDirectory(ruleContext.getRule().getRepository()));
Artifact prunedJ2ObjcArchive = intermediateArtifacts.j2objcPrunedArchive(j2objcArchive);
Artifact dummyArchive =
Iterables.getOnlyElement(
@@ -1511,13 +1504,6 @@ public class CompilationSupport {
.build();
ruleContext.registerAction(
- new ParameterFileWriteAction(
- ruleContext.getActionOwner(),
- paramFile,
- commandLine,
- ParameterFile.ParameterFileType.UNQUOTED,
- ISO_8859_1));
- ruleContext.registerAction(
ObjcRuleClasses.spawnAppleEnvActionBuilder(
XcodeConfigProvider.fromRuleContext(ruleContext),
appleConfiguration.getSingleArchPlatform())
@@ -1525,14 +1511,17 @@ public class CompilationSupport {
.setExecutable(pruner)
.addInput(dummyArchive)
.addInput(pruner)
- .addInput(paramFile)
.addInput(j2objcArchive)
.addInput(xcrunwrapper(ruleContext).getExecutable())
.addTransitiveInputs(j2ObjcDependencyMappingFiles)
.addTransitiveInputs(j2ObjcHeaderMappingFiles)
.addTransitiveInputs(j2ObjcArchiveSourceMappingFiles)
.addCommandLine(
- CustomCommandLine.builder().addFormatted("@%s", paramFile.getExecPath()).build())
+ commandLine,
+ ParamFileInfo.builder(ParameterFile.ParameterFileType.UNQUOTED)
+ .setCharset(ISO_8859_1)
+ .setUseAlways(true)
+ .build())
.addOutput(prunedJ2ObjcArchive)
.build(ruleContext));
}
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 4c4b926af5..c5d974cdb1 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
@@ -36,7 +36,6 @@ import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine.VectorArg;
-import com.google.devtools.build.lib.analysis.actions.ParameterFileWriteAction;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.analysis.config.ConfigAwareAspectBuilder;
import com.google.devtools.build.lib.analysis.config.HostTransition;
@@ -540,14 +539,6 @@ public class J2ObjcAspect extends NativeAspectClass implements ConfiguredAspectF
argBuilder.addExecPaths(ImmutableList.copyOf(sources));
- Artifact paramFile = j2ObjcOutputParamFile(ruleContext);
- ruleContext.registerAction(new ParameterFileWriteAction(
- ruleContext.getActionOwner(),
- paramFile,
- argBuilder.build(),
- ParameterFile.ParameterFileType.UNQUOTED,
- ISO_8859_1));
-
SpawnAction.Builder transpilationAction =
new SpawnAction.Builder()
.setMnemonic("TranspilingJ2objc")
@@ -561,9 +552,12 @@ public class J2ObjcAspect extends NativeAspectClass implements ConfiguredAspectF
.addTransitiveInputs(JavaRuntimeInfo.forHost(ruleContext).javaBaseInputsMiddleman())
.addTransitiveInputs(depsHeaderMappingFiles)
.addTransitiveInputs(depsClassMappingFiles)
- .addInput(paramFile)
.addCommandLine(
- CustomCommandLine.builder().addFormatted("@%s", paramFile.getExecPath()).build())
+ argBuilder.build(),
+ ParamFileInfo.builder(ParameterFile.ParameterFileType.UNQUOTED)
+ .setCharset(ISO_8859_1)
+ .setUseAlways(true)
+ .build())
.addOutputs(j2ObjcSource.getObjcSrcs())
.addOutputs(j2ObjcSource.getObjcHdrs())
.addOutput(outputDependencyMappingFile)
@@ -690,10 +684,6 @@ public class J2ObjcAspect extends NativeAspectClass implements ConfiguredAspectF
return ObjcRuleClasses.artifactByAppendingToBaseName(ruleContext, ".dependency_mapping.j2objc");
}
- private static Artifact j2ObjcOutputParamFile(RuleContext ruleContext) {
- return ObjcRuleClasses.artifactByAppendingToBaseName(ruleContext, ".param.j2objc");
- }
-
private static Artifact j2ObjcOutputArchiveSourceMappingFile(RuleContext ruleContext) {
return ObjcRuleClasses.artifactByAppendingToBaseName(
ruleContext, ".archive_source_mapping.j2objc");