diff options
author | 2017-07-07 09:39:11 -0400 | |
---|---|---|
committer | 2017-07-07 13:37:35 -0400 | |
commit | 7d58bdcf651bbb3f2a879a547d872a03df5ad306 (patch) | |
tree | d6bc0321d4f010cbb0fac00e3d7019e48b2fb41b /src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java | |
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/skyframe/ActionTemplateExpansionFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java index 3967bb22dc..b2029e3c7d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact; import com.google.devtools.build.lib.actions.ArtifactPrefixConflictException; import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException; import com.google.devtools.build.lib.analysis.actions.ActionTemplate; +import com.google.devtools.build.lib.analysis.actions.ActionTemplate.ActionTemplateExpansionException; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.skyframe.ActionTemplateExpansionValue.ActionTemplateExpansionKey; import com.google.devtools.build.lib.util.Preconditions; @@ -77,6 +78,9 @@ public class ActionTemplateExpansionFunction implements SkyFunction { } catch (ArtifactPrefixConflictException e) { env.getListener().handle(Event.error(e.getMessage())); throw new ActionTemplateExpansionFunctionException(e); + } catch (ActionTemplateExpansionException e) { + env.getListener().handle(Event.error(e.getMessage())); + throw new ActionTemplateExpansionFunctionException(e); } return new ActionTemplateExpansionValue(expandedActions, removeActionsAfterEvaluation.get()); @@ -91,6 +95,10 @@ public class ActionTemplateExpansionFunction implements SkyFunction { ActionTemplateExpansionFunctionException(ArtifactPrefixConflictException e) { super(e, Transience.PERSISTENT); } + + ActionTemplateExpansionFunctionException(ActionTemplateExpansionException e) { + super(e, Transience.PERSISTENT); + } } private void checkActionAndArtifactConflicts(Iterable<Action> actions) |