aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2017-07-07 09:39:11 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 13:37:35 -0400
commit7d58bdcf651bbb3f2a879a547d872a03df5ad306 (patch)
treed6bc0321d4f010cbb0fac00e3d7019e48b2fb41b /src/main/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunction.java
parent2936047ae407fdba9ac432694ae8b72ebee4f488 (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.java8
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)