For RuleContext#getActionOwner, return null instead of crashing if you request an ActionOwner for a non-existent exec group. This makes it easier for callers to handle the return if they aren't sure what exec groups is going to exist in the rulecontext.
PiperOrigin-RevId: 316126509
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 86fac7f..aee05d6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -435,14 +435,14 @@
}
@Override
+ @Nullable
public ActionOwner getActionOwner(String execGroup) {
if (actionOwners.containsKey(execGroup)) {
return actionOwners.get(execGroup);
}
- Preconditions.checkState(
- toolchainContexts == null || toolchainContexts.hasToolchainContext(execGroup),
- "action owner requested for non-existent exec group '%s'.",
- execGroup);
+ if (toolchainContexts != null && !toolchainContexts.hasToolchainContext(execGroup)) {
+ return null;
+ }
ActionOwner actionOwner =
createActionOwner(
rule,