aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-11-15 18:49:09 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-11-16 15:56:32 +0000
commit88bfe858aaac9138b7d0341982ca4150474479c9 (patch)
tree55ba337a9eb5e7a35f91ef7805c50080118f3f1e /src/main/java/com/google/devtools/build/lib/rules/objc
parente134f794337054562d3119b2bf151fc83fcd9a66 (diff)
Description redacted.
-- MOS_MIGRATED_REVID=139219934
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java58
2 files changed, 6 insertions, 56 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java
index 2d564e7dd9..f7fdcdfb62 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java
@@ -489,13 +489,12 @@ public class LegacyCompilationSupport extends CompilationSupport {
appleConfiguration, appleConfiguration.getSingleArchPlatform())
.setDotdPruningPlan(objcConfiguration.getDotdPruningPlan())
.setSourceFile(sourceFile)
- .addTransitiveHeaders(objcProvider.get(HEADER))
- .addHeaders(compilationArtifacts.getPrivateHdrs())
.addMandatoryInputs(swiftHeader.asSet())
.addTransitiveMandatoryInputs(moduleMapInputs)
.addTransitiveMandatoryInputs(objcProvider.get(STATIC_FRAMEWORK_FILE))
.addTransitiveMandatoryInputs(objcProvider.get(DYNAMIC_FRAMEWORK_FILE))
.setDotdFile(dotdFile)
+ .addInputs(compilationArtifacts.getPrivateHdrs())
.addInputs(compilationArtifacts.getPchFile().asSet())
.setMnemonic("ObjcCompile")
.setExecutable(xcrunwrapper(ruleContext))
@@ -503,6 +502,7 @@ public class LegacyCompilationSupport extends CompilationSupport {
.addOutput(objFile)
.addOutputs(gcnoFile.asSet())
.addOutput(dotdFile.artifact())
+ .addTransitiveInputs(objcProvider.get(HEADER))
.build(ruleContext));
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java
index 182a509c30..d41b1570b2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java
@@ -23,7 +23,6 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
-import com.google.devtools.build.lib.actions.ActionInput;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactResolver;
@@ -31,7 +30,6 @@ import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.PackageRootResolutionException;
import com.google.devtools.build.lib.actions.PackageRootResolver;
import com.google.devtools.build.lib.actions.ResourceSet;
-import com.google.devtools.build.lib.actions.Spawn;
import com.google.devtools.build.lib.analysis.actions.CommandLine;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
@@ -42,7 +40,6 @@ import com.google.devtools.build.lib.profiler.ProfilerTask;
import com.google.devtools.build.lib.rules.apple.AppleConfiguration;
import com.google.devtools.build.lib.rules.apple.Platform;
import com.google.devtools.build.lib.rules.cpp.CppCompileAction.DotdFile;
-import com.google.devtools.build.lib.rules.cpp.CppFileTypes;
import com.google.devtools.build.lib.rules.cpp.HeaderDiscovery;
import com.google.devtools.build.lib.rules.cpp.HeaderDiscovery.DotdPruningMode;
import com.google.devtools.build.lib.rules.cpp.IncludeScanningContext;
@@ -69,35 +66,10 @@ import javax.annotation.concurrent.GuardedBy;
*/
public class ObjcCompileAction extends SpawnAction {
- /**
- * A spawn that provides all headers to sandboxed execution to allow pruned headers to be
- * re-introduced into action inputs.
- */
- public class ObjcCompileActionSpawn extends ActionSpawn {
-
- public ObjcCompileActionSpawn(Map<String, String> clientEnv) {
- super(clientEnv);
- }
-
- @Override
- public Iterable<? extends ActionInput> getInputFiles() {
- ImmutableList.Builder<ActionInput> inputs = ImmutableList.<ActionInput>builder()
- .addAll(super.getInputFiles());
-
- for (Artifact headerArtifact : headers) {
- if (CppFileTypes.OBJC_HEADER.matches(headerArtifact.getFilename())) {
- inputs.add(headerArtifact);
- }
- }
- return inputs.build();
- }
- }
-
private final DotdFile dotdFile;
private final Artifact sourceFile;
private final NestedSet<Artifact> mandatoryInputs;
private final HeaderDiscovery.DotdPruningMode dotdPruningPlan;
- private final NestedSet<Artifact> headers;
// This can be read/written from multiple threads, so accesses must be synchronized.
@GuardedBy("this")
@@ -122,8 +94,7 @@ public class ObjcCompileAction extends SpawnAction {
DotdFile dotdFile,
Artifact sourceFile,
NestedSet<Artifact> mandatoryInputs,
- HeaderDiscovery.DotdPruningMode dotdPruningPlan,
- NestedSet<Artifact> headers) {
+ HeaderDiscovery.DotdPruningMode dotdPruningPlan) {
super(
owner,
tools,
@@ -144,7 +115,6 @@ public class ObjcCompileAction extends SpawnAction {
this.sourceFile = sourceFile;
this.mandatoryInputs = mandatoryInputs;
this.dotdPruningPlan = dotdPruningPlan;
- this.headers = headers;
this.inputsKnown = (dotdPruningPlan == DotdPruningMode.DO_NOT_USE);
}
@@ -155,11 +125,6 @@ public class ObjcCompileAction extends SpawnAction {
}
@Override
- public final Spawn getSpawn(Map<String, String> clientEnv) {
- return new ObjcCompileActionSpawn(clientEnv);
- }
-
- @Override
public synchronized boolean inputsKnown() {
return inputsKnown;
}
@@ -171,7 +136,8 @@ public class ObjcCompileAction extends SpawnAction {
@Override
public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext) {
- return headers;
+ // We do not use include scanning for objc
+ return null;
}
// Keep in sync with {@link CppCompileAction#resolveInputsFromCache}
@@ -330,7 +296,6 @@ public class ObjcCompileAction extends SpawnAction {
private Artifact sourceFile;
private final NestedSetBuilder<Artifact> mandatoryInputs = new NestedSetBuilder<>(STABLE_ORDER);
private HeaderDiscovery.DotdPruningMode dotdPruningPlan;
- private NestedSetBuilder<Artifact> headers = NestedSetBuilder.stableOrder();
/**
* Creates a new compile action builder with apple environment variables set that are typically
@@ -398,20 +363,6 @@ public class ObjcCompileAction extends SpawnAction {
this.dotdPruningPlan = dotdPruningPlan;
return this;
}
-
- /** Adds to the set of all possible headers that could be required by this compile action. */
- public Builder addTransitiveHeaders(NestedSet<Artifact> headers) {
- this.headers.addTransitive(Preconditions.checkNotNull(headers));
- this.addTransitiveInputs(headers);
- return this;
- }
-
- /** Adds to the set of all possible headers that could be required by this compile action. */
- public Builder addHeaders(Iterable<Artifact> headers) {
- this.headers.addAll(Preconditions.checkNotNull(headers));
- this.addInputs(headers);
- return this;
- }
@Override
protected SpawnAction createSpawnAction(
@@ -444,8 +395,7 @@ public class ObjcCompileAction extends SpawnAction {
dotdFile,
sourceFile,
mandatoryInputs.build(),
- dotdPruningPlan,
- headers.build());
+ dotdPruningPlan);
}
}
}