Properly support textual_hdrs. -- MOS_MIGRATED_REVID=96400739
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 b8f4b3e..f2d2cb8 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
@@ -66,10 +66,12 @@ private static final ImmutableSet<String> SOURCE_ATTRIBUTES = ImmutableSet.of("srcs", "src", "srcjar"); - // Attributes referring to "headers". - private static final ImmutableSet<String> HEADER_ATTRIBUTES = - ImmutableSet.of("hdrs", "textual_hdrs"); - + // Attribute referring to "headers". + private static final String HEADER_ATTRIBUTE = "hdrs"; + + // Attribute referring to "textual headers". + private static final String TEXTUAL_HEADER_ATTRIBUTE = "textual_hdrs"; + // The attribute to search in filegroups. private static final ImmutableSet<String> FILEGROUP_ATTRIBUTES = ImmutableSet.of("srcs"); @@ -84,7 +86,8 @@ throws NoSuchTargetException, NoSuchPackageException, InterruptedException { ImmutableSet<String> srcAndHdrAttributes = ImmutableSet.<String>builder() .addAll(SOURCE_ATTRIBUTES) - .addAll(HEADER_ATTRIBUTES) + .add(HEADER_ATTRIBUTE) + .add(TEXTUAL_HEADER_ATTRIBUTE) .build(); return getTargets(eventHandler, rule, srcAndHdrAttributes, Sets.newHashSet(rule), provider); } @@ -93,10 +96,18 @@ public static List<FileTarget> getHdrTargets(EventHandler eventHandler, Rule rule, TargetProvider provider) throws NoSuchTargetException, NoSuchPackageException, InterruptedException { - ImmutableSet<String> srcAndHdrAttributes = ImmutableSet.copyOf(HEADER_ATTRIBUTES); - return getTargets(eventHandler, rule, srcAndHdrAttributes, Sets.newHashSet(rule), provider); + return getTargets( + eventHandler, rule, ImmutableSet.of(HEADER_ATTRIBUTE), Sets.newHashSet(rule), provider); } - + + @ThreadSafety.ThreadSafe + public static List<FileTarget> getTextualHdrTargets( + EventHandler eventHandler, Rule rule, TargetProvider provider) + throws NoSuchTargetException, NoSuchPackageException, InterruptedException { + return getTargets(eventHandler, rule, ImmutableSet.of(TEXTUAL_HEADER_ATTRIBUTE), + Sets.newHashSet(rule), provider); + } + /** * @see #getSrcTargets(EventHandler, Rule, TargetProvider) */