Skip to content

Commit 261b3c0

Browse files
calpeyserlaszlocsomor
authored andcommitted
Description redacted.
-- MOS_MIGRATED_REVID=139219934
1 parent 9a796de commit 261b3c0

File tree

4 files changed

+8
-70
lines changed

4 files changed

+8
-70
lines changed

src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -426,20 +426,14 @@ public ResourceSet estimateResourceConsumption(Executor executor) {
426426
}
427427

428428
/**
429-
* A spawn instance that is tied to a specific SpawnAction.
429+
* The Spawn which this SpawnAction will execute.
430430
*/
431-
public class ActionSpawn extends BaseSpawn {
431+
private class ActionSpawn extends BaseSpawn {
432432

433433
private final List<Artifact> filesets = new ArrayList<>();
434434

435435
private final ImmutableMap<String, String> effectiveEnvironment;
436436

437-
/**
438-
* Creates an ActionSpawn with the given environment variables.
439-
*
440-
* <p>Subclasses of ActionSpawn may subclass in order to provide action-specific values for
441-
* environment variables or action inputs.
442-
*/
443437
public ActionSpawn(Map<String, String> clientEnv) {
444438
super(ImmutableList.copyOf(argv.arguments()),
445439
ImmutableMap.<String, String>of(),
@@ -466,9 +460,6 @@ public ActionSpawn(Map<String, String> clientEnv) {
466460
effectiveEnvironment = ImmutableMap.copyOf(env);
467461
}
468462

469-
/**
470-
* Creates an ActionSpawn with no environment variables.
471-
*/
472463
public ActionSpawn() {
473464
this(null);
474465
}

src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@ public final class CppFileTypes {
3333
FileTypeSet.of(CppFileTypes.CPP_SOURCE, CppFileTypes.C_SOURCE);
3434

3535
public static final FileType CPP_HEADER = FileType.of(".h", ".hh", ".hpp", ".hxx", ".inc");
36-
public static final FileType PCH = FileType.of(".pch");
37-
public static final FileTypeSet OBJC_HEADER = FileTypeSet.of(CPP_HEADER, PCH);
38-
3936
public static final FileType CPP_TEXTUAL_INCLUDE = FileType.of(".inc");
4037

4138
public static final FileType PIC_PREPROCESSED_C = FileType.of(".pic.i");

src/main/java/com/google/devtools/build/lib/rules/objc/LegacyCompilationSupport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -489,20 +489,20 @@ private void registerCompileAction(
489489
appleConfiguration, appleConfiguration.getSingleArchPlatform())
490490
.setDotdPruningPlan(objcConfiguration.getDotdPruningPlan())
491491
.setSourceFile(sourceFile)
492-
.addTransitiveHeaders(objcProvider.get(HEADER))
493-
.addHeaders(compilationArtifacts.getPrivateHdrs())
494492
.addMandatoryInputs(swiftHeader.asSet())
495493
.addTransitiveMandatoryInputs(moduleMapInputs)
496494
.addTransitiveMandatoryInputs(objcProvider.get(STATIC_FRAMEWORK_FILE))
497495
.addTransitiveMandatoryInputs(objcProvider.get(DYNAMIC_FRAMEWORK_FILE))
498496
.setDotdFile(dotdFile)
497+
.addInputs(compilationArtifacts.getPrivateHdrs())
499498
.addInputs(compilationArtifacts.getPchFile().asSet())
500499
.setMnemonic("ObjcCompile")
501500
.setExecutable(xcrunwrapper(ruleContext))
502501
.setCommandLine(commandLine)
503502
.addOutput(objFile)
504503
.addOutputs(gcnoFile.asSet())
505504
.addOutput(dotdFile.artifact())
505+
.addTransitiveInputs(objcProvider.get(HEADER))
506506
.build(ruleContext));
507507
}
508508

src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,13 @@
2323
import com.google.common.collect.ImmutableSet;
2424
import com.google.devtools.build.lib.actions.ActionExecutionContext;
2525
import com.google.devtools.build.lib.actions.ActionExecutionException;
26-
import com.google.devtools.build.lib.actions.ActionInput;
2726
import com.google.devtools.build.lib.actions.ActionOwner;
2827
import com.google.devtools.build.lib.actions.Artifact;
2928
import com.google.devtools.build.lib.actions.ArtifactResolver;
3029
import com.google.devtools.build.lib.actions.Executor;
3130
import com.google.devtools.build.lib.actions.PackageRootResolutionException;
3231
import com.google.devtools.build.lib.actions.PackageRootResolver;
3332
import com.google.devtools.build.lib.actions.ResourceSet;
34-
import com.google.devtools.build.lib.actions.Spawn;
3533
import com.google.devtools.build.lib.analysis.actions.CommandLine;
3634
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
3735
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
@@ -42,7 +40,6 @@
4240
import com.google.devtools.build.lib.rules.apple.AppleConfiguration;
4341
import com.google.devtools.build.lib.rules.apple.Platform;
4442
import com.google.devtools.build.lib.rules.cpp.CppCompileAction.DotdFile;
45-
import com.google.devtools.build.lib.rules.cpp.CppFileTypes;
4643
import com.google.devtools.build.lib.rules.cpp.HeaderDiscovery;
4744
import com.google.devtools.build.lib.rules.cpp.HeaderDiscovery.DotdPruningMode;
4845
import com.google.devtools.build.lib.rules.cpp.IncludeScanningContext;
@@ -69,35 +66,10 @@
6966
*/
7067
public class ObjcCompileAction extends SpawnAction {
7168

72-
/**
73-
* A spawn that provides all headers to sandboxed execution to allow pruned headers to be
74-
* re-introduced into action inputs.
75-
*/
76-
public class ObjcCompileActionSpawn extends ActionSpawn {
77-
78-
public ObjcCompileActionSpawn(Map<String, String> clientEnv) {
79-
super(clientEnv);
80-
}
81-
82-
@Override
83-
public Iterable<? extends ActionInput> getInputFiles() {
84-
ImmutableList.Builder<ActionInput> inputs = ImmutableList.<ActionInput>builder()
85-
.addAll(super.getInputFiles());
86-
87-
for (Artifact headerArtifact : headers) {
88-
if (CppFileTypes.OBJC_HEADER.matches(headerArtifact.getFilename())) {
89-
inputs.add(headerArtifact);
90-
}
91-
}
92-
return inputs.build();
93-
}
94-
}
95-
9669
private final DotdFile dotdFile;
9770
private final Artifact sourceFile;
9871
private final NestedSet<Artifact> mandatoryInputs;
9972
private final HeaderDiscovery.DotdPruningMode dotdPruningPlan;
100-
private final NestedSet<Artifact> headers;
10173

10274
// This can be read/written from multiple threads, so accesses must be synchronized.
10375
@GuardedBy("this")
@@ -122,8 +94,7 @@ private ObjcCompileAction(
12294
DotdFile dotdFile,
12395
Artifact sourceFile,
12496
NestedSet<Artifact> mandatoryInputs,
125-
HeaderDiscovery.DotdPruningMode dotdPruningPlan,
126-
NestedSet<Artifact> headers) {
97+
HeaderDiscovery.DotdPruningMode dotdPruningPlan) {
12798
super(
12899
owner,
129100
tools,
@@ -144,7 +115,6 @@ private ObjcCompileAction(
144115
this.sourceFile = sourceFile;
145116
this.mandatoryInputs = mandatoryInputs;
146117
this.dotdPruningPlan = dotdPruningPlan;
147-
this.headers = headers;
148118
this.inputsKnown = (dotdPruningPlan == DotdPruningMode.DO_NOT_USE);
149119
}
150120

@@ -154,11 +124,6 @@ public HeaderDiscovery.DotdPruningMode getDotdPruningPlan() {
154124
return dotdPruningPlan;
155125
}
156126

157-
@Override
158-
public final Spawn getSpawn(Map<String, String> clientEnv) {
159-
return new ObjcCompileActionSpawn(clientEnv);
160-
}
161-
162127
@Override
163128
public synchronized boolean inputsKnown() {
164129
return inputsKnown;
@@ -171,7 +136,8 @@ public boolean discoversInputs() {
171136

172137
@Override
173138
public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext) {
174-
return headers;
139+
// We do not use include scanning for objc
140+
return null;
175141
}
176142

177143
// Keep in sync with {@link CppCompileAction#resolveInputsFromCache}
@@ -330,7 +296,6 @@ public static class Builder extends SpawnAction.Builder {
330296
private Artifact sourceFile;
331297
private final NestedSetBuilder<Artifact> mandatoryInputs = new NestedSetBuilder<>(STABLE_ORDER);
332298
private HeaderDiscovery.DotdPruningMode dotdPruningPlan;
333-
private NestedSetBuilder<Artifact> headers = NestedSetBuilder.stableOrder();
334299

335300
/**
336301
* Creates a new compile action builder with apple environment variables set that are typically
@@ -398,20 +363,6 @@ public Builder setDotdPruningPlan(HeaderDiscovery.DotdPruningMode dotdPruningPla
398363
this.dotdPruningPlan = dotdPruningPlan;
399364
return this;
400365
}
401-
402-
/** Adds to the set of all possible headers that could be required by this compile action. */
403-
public Builder addTransitiveHeaders(NestedSet<Artifact> headers) {
404-
this.headers.addTransitive(Preconditions.checkNotNull(headers));
405-
this.addTransitiveInputs(headers);
406-
return this;
407-
}
408-
409-
/** Adds to the set of all possible headers that could be required by this compile action. */
410-
public Builder addHeaders(Iterable<Artifact> headers) {
411-
this.headers.addAll(Preconditions.checkNotNull(headers));
412-
this.addInputs(headers);
413-
return this;
414-
}
415366

416367
@Override
417368
protected SpawnAction createSpawnAction(
@@ -444,8 +395,7 @@ protected SpawnAction createSpawnAction(
444395
dotdFile,
445396
sourceFile,
446397
mandatoryInputs.build(),
447-
dotdPruningPlan,
448-
headers.build());
398+
dotdPruningPlan);
449399
}
450400
}
451401
}

0 commit comments

Comments
 (0)