diff options
author | 2017-10-18 00:58:29 +0200 | |
---|---|---|
committer | 2017-10-18 10:28:27 +0200 | |
commit | 841880dc66bfd0702a08105835a445cb3dc271c9 (patch) | |
tree | 758c9178d16f161ed19313a7f0d082c19a4a6db5 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java | |
parent | 34a9fea78f201caed8ace5c714a0cf288cb97c65 (diff) |
Actions now have the option of returning an ActionResult, containing a (possibly empty) set of SpawnResults created during execution of the Action.
RELNOTES: None.
PiperOrigin-RevId: 172529328
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java | 13 |
1 files changed, 8 insertions, 5 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 5d6c3689d4..3d93900fa6 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 @@ -27,6 +27,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionException; import com.google.devtools.build.lib.actions.ActionLookupValue; import com.google.devtools.build.lib.actions.ActionLookupValue.ActionLookupKey; import com.google.devtools.build.lib.actions.ActionOwner; +import com.google.devtools.build.lib.actions.ActionResult; import com.google.devtools.build.lib.actions.ActionStatusMessage; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; @@ -37,6 +38,7 @@ import com.google.devtools.build.lib.actions.ExecException; import com.google.devtools.build.lib.actions.ExecutionInfoSpecifier; import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.actions.ResourceSet; +import com.google.devtools.build.lib.actions.SpawnResult; import com.google.devtools.build.lib.actions.extra.CppCompileInfo; import com.google.devtools.build.lib.actions.extra.EnvironmentVariable; import com.google.devtools.build.lib.actions.extra.ExtraActionInfo; @@ -1150,11 +1152,9 @@ public class CppCompileAction extends AbstractAction @Override @ThreadCompatible - public void execute( - ActionExecutionContext actionExecutionContext) - throws ActionExecutionException, InterruptedException { + public ActionResult execute(ActionExecutionContext actionExecutionContext) + throws ActionExecutionException, InterruptedException { setModuleFileFlags(); - CppCompileActionContext.Reply reply; ShowIncludesFilter showIncludesFilterForStdout = null; ShowIncludesFilter showIncludesFilterForStderr = null; @@ -1166,13 +1166,15 @@ public class CppCompileAction extends AbstractAction actionExecutionContext.getFileOutErr().setOutputFilter(showIncludesFilterForStdout); actionExecutionContext.getFileOutErr().setErrorFilter(showIncludesFilterForStderr); } + + Set<SpawnResult> spawnResults; try { CppCompileActionResult cppCompileActionResult = actionExecutionContext .getContext(actionContext) .execWithReply(this, actionExecutionContext); - // TODO(b/62588075) Save spawnResults from cppCompileActionResult and return them upwards. reply = cppCompileActionResult.contextReply(); + spawnResults = cppCompileActionResult.spawnResults(); } catch (ExecException e) { throw e.toActionExecutionException( "C++ compilation of rule '" + getOwner().getLabel() + "'", @@ -1213,6 +1215,7 @@ public class CppCompileAction extends AbstractAction actionExecutionContext.getArtifactExpander(), actionExecutionContext.getEventHandler()); } + return ActionResult.create(spawnResults); } @VisibleForTesting |