aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar cushon <cushon@google.com>2018-06-29 07:14:04 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-29 07:15:20 -0700
commit626fe0cba10a9d8d7c0401063940b8192f99b6c0 (patch)
treea75144ad0647d298cb4a27f97cec9dbaeb82aa19
parent3cc2227f51895567c01cdbb1f7ae0a952973053a (diff)
Add a null-check to Whitelist handling
PiperOrigin-RevId: 202642497
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/whitelisting/Whitelist.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/whitelisting/Whitelist.java b/src/main/java/com/google/devtools/build/lib/analysis/whitelisting/Whitelist.java
index 261a09bf5d..a0095c36cf 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/whitelisting/Whitelist.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/whitelisting/Whitelist.java
@@ -16,9 +16,11 @@ package com.google.devtools.build.lib.analysis.whitelisting;
import static com.google.devtools.build.lib.packages.Attribute.attr;
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
+import static java.util.Objects.requireNonNull;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Streams;
import com.google.devtools.build.lib.analysis.PackageSpecificationProvider;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
@@ -63,11 +65,10 @@ public final class Whitelist {
Preconditions.checkArgument(ruleContext.isAttrDefined(attributeName, LABEL));
TransitiveInfoCollection packageGroup = ruleContext.getPrerequisite(attributeName, Mode.HOST);
Label label = ruleContext.getLabel();
- return packageGroup
- .getProvider(PackageSpecificationProvider.class)
- .getPackageSpecifications()
- .toList()
- .stream()
+ PackageSpecificationProvider packageSpecificationProvider =
+ packageGroup.getProvider(PackageSpecificationProvider.class);
+ requireNonNull(packageSpecificationProvider, packageGroup.getLabel().toString());
+ return Streams.stream(packageSpecificationProvider.getPackageSpecifications())
.anyMatch(p -> p.containsPackage(label.getPackageIdentifier()));
}