diff options
author | 2015-10-02 21:04:23 +0000 | |
---|---|---|
committer | 2015-10-05 08:00:46 +0000 | |
commit | af3485700854e84ae1445ac13ab680f6fe35ec46 (patch) | |
tree | d6abbaf82846d9039661e70bd728b15457e604ba /src/main/java/com/google/devtools | |
parent | d900d54d60a256d2d2859d029c300e6d9dd61e22 (diff) |
Allow extractIncludes method to throw an ExecException.
--
MOS_MIGRATED_REVID=104529103
Diffstat (limited to 'src/main/java/com/google/devtools')
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[]{}); } |