diff options
author | cushon <cushon@google.com> | 2018-06-29 07:14:04 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-29 07:15:20 -0700 |
commit | 626fe0cba10a9d8d7c0401063940b8192f99b6c0 (patch) | |
tree | a75144ad0647d298cb4a27f97cec9dbaeb82aa19 | |
parent | 3cc2227f51895567c01cdbb1f7ae0a952973053a (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.java | 11 |
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())); } |