diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/pkgcache/SrcTargetUtil.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/pkgcache/SrcTargetUtil.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/SrcTargetUtil.java b/src/main/java/com/google/devtools/build/lib/pkgcache/SrcTargetUtil.java index 89969f6773..242bcc38ea 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/SrcTargetUtil.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/SrcTargetUtil.java @@ -13,7 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.pkgcache; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; @@ -107,11 +106,13 @@ public final class SrcTargetUtil { Set<Rule> visitedRules, TargetProvider targetProvider) throws NoSuchTargetException, NoSuchPackageException, InterruptedException { - Preconditions.checkState(!rule.hasConfigurableAttributes()); // Not currently supported. List<Label> srcLabels = Lists.newArrayList(); AttributeMap attributeMap = RawAttributeMapper.of(rule); for (String attrName : attributes) { - if (rule.isAttrDefined(attrName, Type.LABEL_LIST)) { + if (rule.isConfigurableAttribute(attrName)) { + // We don't know which path to follow for configurable attributes. So skip them. + continue; + } else if (rule.isAttrDefined(attrName, Type.LABEL_LIST)) { srcLabels.addAll(attributeMap.get(attrName, Type.LABEL_LIST)); } else if (rule.isAttrDefined(attrName, Type.LABEL)) { Label srcLabel = attributeMap.get(attrName, Type.LABEL); |