aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-09-23 14:04:28 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-09-23 14:11:47 +0000
commita02b2767ce275b152ed647974e1dc074d0ad3007 (patch)
tree43356d393b644c01e2769ee169fa681a1bb4382d /src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
parent4e651390e5734ff688cdf6c10e2c5553a65e18c7 (diff)
*** Reason for rollback *** We *still* have case discrepancies in objc code, which appears to be a hard blocker to .d pruning. This change will not work until we've found some way to enforce case-consistency. *** Original change description *** Implement input pruning using .d files in objc. -- MOS_MIGRATED_REVID=134069949
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java33
1 files changed, 5 insertions, 28 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
index f7c47301ae..ad7d5fe735 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
@@ -34,7 +34,6 @@ import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
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.ThreadCompatible;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration;
@@ -42,7 +41,6 @@ import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.ShellEscaper;
import com.google.devtools.build.lib.util.io.FileOutErr;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
-import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.io.IOException;
import java.util.UUID;
@@ -81,7 +79,7 @@ public class FakeCppCompileAction extends CppCompileAction {
ImmutableList<String> copts,
Predicate<String> nocopts,
RuleContext ruleContext,
- CppSemantics cppSemantics) {
+ CppSemantics semantics) {
super(
owner,
features,
@@ -119,7 +117,7 @@ public class FakeCppCompileAction extends CppCompileAction {
ImmutableMap.<String, String>of(),
CppCompileAction.CPP_COMPILE,
ruleContext,
- cppSemantics);
+ semantics);
this.tempOutputFile = Preconditions.checkNotNull(tempOutputFile);
}
@@ -150,30 +148,9 @@ public class FakeCppCompileAction extends CppCompileAction {
}
}
IncludeScanningContext scanningContext = executor.getContext(IncludeScanningContext.class);
- Path execRoot = executor.getExecRoot();
-
- NestedSet<Artifact> discoveredInputs;
- if (getDotdFile() == null) {
- discoveredInputs = NestedSetBuilder.<Artifact>stableOrder().build();
- } else {
- HeaderDiscovery.Builder discoveryBuilder = new HeaderDiscovery.Builder()
- .setAction(this)
- .setDotdFile(getDotdFile())
- .setSourceFile(getSourceFile())
- .setSpecialInputsHandler(specialInputsHandler)
- .setDependencySet(processDepset(execRoot, reply))
- .setPermittedSystemIncludePrefixes(getPermittedSystemIncludePrefixes(execRoot))
- .setAllowedDerivedinputsMap(getAllowedDerivedInputsMap());
-
- if (cppSemantics.needsIncludeValidation()) {
- discoveryBuilder.shouldValidateInclusions();
- }
-
- discoveredInputs = discoveryBuilder
- .build()
- .discoverInputsFromDotdFiles(execRoot, scanningContext.getArtifactResolver());
- }
-
+ NestedSet<Artifact> discoveredInputs =
+ discoverInputsFromDotdFiles(
+ executor.getExecRoot(), scanningContext.getArtifactResolver(), reply);
reply = null; // Clear in-memory .d files early.
// Even cc_fake_binary rules need to properly declare their dependencies...