aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java29
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCompileAction.java4
4 files changed, 11 insertions, 38 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index 93473651f2..03e3a42bee 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -502,7 +502,8 @@ public class CppCompileAction extends AbstractAction
@Nullable
@Override
- public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext)
+ public synchronized Iterable<Artifact> discoverInputs(
+ ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
Executor executor = actionExecutionContext.getExecutor();
Collection<Artifact> initialResult = null;
@@ -1325,32 +1326,6 @@ public class CppCompileAction extends AbstractAction
}
}
- /**
- * Provides list of include files needed for performing extra actions on this action when run
- * remotely. The list of include files is created by performing a header scan on the known input
- * files.
- */
- @Override
- public Iterable<Artifact> getInputFilesForExtraAction(
- ActionExecutionContext actionExecutionContext)
- throws ActionExecutionException, InterruptedException {
- Collection<Artifact> scannedIncludes;
- try {
- scannedIncludes = actionExecutionContext.getExecutor().getContext(actionContext)
- .findAdditionalInputs(this, actionExecutionContext);
- } catch (ExecException e) {
- throw e.toActionExecutionException(this);
- }
-
- if (scannedIncludes == null) {
- return ImmutableList.of();
- }
-
- // Use a set to eliminate duplicates.
- ImmutableSet.Builder<Artifact> result = ImmutableSet.builder();
- return result.addAll(getInputs()).addAll(scannedIncludes).build();
- }
-
@Override
public String getMnemonic() { return "CppCompile"; }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java
index 0b71041ceb..e6d35fe128 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java
@@ -117,7 +117,8 @@ public final class LTOBackendAction extends SpawnAction {
@Nullable
@Override
- public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext)
+ public synchronized Iterable<Artifact> discoverInputs(
+ ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
// Build set of files this LTO backend artifact will import from.
HashSet<PathFragment> importSet = new HashSet<>();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
index 866e45e20a..9f07c98285 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java
@@ -114,18 +114,15 @@ public final class ExtraAction extends SpawnAction {
@Nullable
@Override
- public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext)
+ public synchronized Iterable<Artifact> discoverInputs(
+ ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
Preconditions.checkState(discoversInputs(), this);
// We need to update our inputs to take account of any additional
// inputs the shadowed action may need to do its work.
- if (shadowedAction.discoversInputs() && shadowedAction instanceof AbstractAction) {
- Iterable<Artifact> additionalInputs =
- ((AbstractAction) shadowedAction).getInputFilesForExtraAction(actionExecutionContext);
- updateInputs(createInputs(additionalInputs, extraActionInputs, runfilesSupplier));
- return ImmutableSet.copyOf(additionalInputs);
- }
- return null;
+ Iterable<Artifact> additionalInputs = shadowedAction.discoverInputs(actionExecutionContext);
+ updateInputs(createInputs(additionalInputs, extraActionInputs, runfilesSupplier));
+ return additionalInputs;
}
@Override
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 55e1baefff..f8ee247c7f 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
@@ -186,8 +186,8 @@ public class ObjcCompileAction extends SpawnAction {
return true;
}
- @Override
- public Iterable<Artifact> discoverInputs(ActionExecutionContext actionExecutionContext)
+ public synchronized Iterable<Artifact> discoverInputs(
+ ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
if (headersListFile != null) {
discoveredInputs = findRequiredHeaderInputs();