aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Janak Ramakrishnan <janakr@google.com>2015-10-02 21:04:23 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-10-05 08:00:46 +0000
commitaf3485700854e84ae1445ac13ab680f6fe35ec46 (patch)
treed6abbaf82846d9039661e70bd728b15457e604ba /src/main/java/com/google/devtools
parentd900d54d60a256d2d2859d029c300e6d9dd61e22 (diff)
Allow extractIncludes method to throw an ExecException.
-- MOS_MIGRATED_REVID=104529103
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanningContext.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java11
3 files changed, 18 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java
index 12e918159f..36d8d7dc7c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.ResourceSet;
@@ -83,6 +84,8 @@ final class ExtractInclusionAction extends AbstractAction {
getPrimaryOutput());
} catch (IOException e) {
throw new ActionExecutionException(e, this, false);
+ } catch (ExecException e) {
+ throw e.toActionExecutionException(this);
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanningContext.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanningContext.java
index 95d7afa747..dc3d51b458 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanningContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/IncludeScanningContext.java
@@ -13,10 +13,11 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.cpp;
+import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
-import com.google.devtools.build.lib.actions.ActionMetadata;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactResolver;
+import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.Executor.ActionContext;
import java.io.IOException;
@@ -33,9 +34,12 @@ public interface IncludeScanningContext extends ActionContext {
* @param primaryInput the source file to be include scanned
* @param primaryOutput the output file where the results should be put
*/
- void extractIncludes(ActionExecutionContext actionExecutionContext,
- ActionMetadata resourceOwner, Artifact primaryInput, Artifact primaryOutput)
- throws IOException, InterruptedException;
+ void extractIncludes(
+ ActionExecutionContext actionExecutionContext,
+ Action resourceOwner,
+ Artifact primaryInput,
+ Artifact primaryOutput)
+ throws IOException, ExecException, InterruptedException;
/**
* Returns the artifact resolver.
diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java
index b1d2fa682d..43bdc5b43a 100644
--- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java
@@ -15,9 +15,9 @@ package com.google.devtools.build.lib.standalone;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
+import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionContextProvider;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
-import com.google.devtools.build.lib.actions.ActionMetadata;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactResolver;
import com.google.devtools.build.lib.actions.ExecutionStrategy;
@@ -49,9 +49,12 @@ public class StandaloneActionContextProvider extends ActionContextProvider {
@ExecutionStrategy(contextType = IncludeScanningContext.class)
class DummyIncludeScanningContext implements IncludeScanningContext {
@Override
- public void extractIncludes(ActionExecutionContext actionExecutionContext,
- ActionMetadata resourceOwner, Artifact primaryInput, Artifact primaryOutput)
- throws IOException, InterruptedException {
+ public void extractIncludes(
+ ActionExecutionContext actionExecutionContext,
+ Action resourceOwner,
+ Artifact primaryInput,
+ Artifact primaryOutput)
+ throws IOException {
FileSystemUtils.writeContent(primaryOutput.getPath(), new byte[]{});
}