diff options
author | hlopko <hlopko@google.com> | 2017-07-07 09:39:11 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-07-07 13:37:35 -0400 |
commit | 7d58bdcf651bbb3f2a879a547d872a03df5ad306 (patch) | |
tree | d6bc0321d4f010cbb0fac00e3d7019e48b2fb41b /src/main/java/com/google/devtools/build/lib/analysis | |
parent | 2936047ae407fdba9ac432694ae8b72ebee4f488 (diff) |
Do not NPE crash when C++ actions are not configured in crosstool
Show meaningful message instead.
RELNOTES: None.
PiperOrigin-RevId: 161196096
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/actions/ActionTemplate.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionTemplate.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionTemplate.java index afad7b736d..c48378fd23 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionTemplate.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionTemplate.java @@ -53,6 +53,15 @@ import com.google.devtools.build.lib.actions.ArtifactOwner; * </ol> */ public interface ActionTemplate<T extends Action> extends ActionAnalysisMetadata { + + /** An exception signalling that the template expansion failed during execution phase */ + class ActionTemplateExpansionException extends Exception { + + public ActionTemplateExpansionException(String cause) { + super(cause); + } + } + /** * Given a list of input TreeFileArtifacts resolved at execution time, returns a list of expanded * SpawnActions to be executed. @@ -65,7 +74,8 @@ public interface ActionTemplate<T extends Action> extends ActionAnalysisMetadata * {@link TreeFileArtifact} */ Iterable<T> generateActionForInputArtifacts( - Iterable<TreeFileArtifact> inputTreeFileArtifacts, ArtifactOwner artifactOwner); + Iterable<TreeFileArtifact> inputTreeFileArtifacts, ArtifactOwner artifactOwner) + throws ActionTemplateExpansionException; /** Returns the input TreeArtifact. */ Artifact getInputTreeArtifact(); |