aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
index c72388779b..e33c655b66 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
@@ -548,20 +548,28 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
/**
* Adds a header that has been declared in the {@code src} or {@code headers attribute}. The
* header will also be added to the compilation prerequisites.
+ *
+ * <p>Filters out fileset directory artifacts, which are not valid inputs.
*/
public Builder addDeclaredIncludeSrc(Artifact header) {
- declaredIncludeSrcs.add(header);
- compilationPrerequisites.add(header);
+ if (!header.isFileset()) {
+ declaredIncludeSrcs.add(header);
+ compilationPrerequisites.add(header);
+ }
return this;
}
/**
* Adds multiple headers that have been declared in the {@code src} or {@code headers
* attribute}. The headers will also be added to the compilation prerequisites.
+ *
+ * <p>Filters out fileset directory artifacts, which are not valid inputs.
*/
public Builder addDeclaredIncludeSrcs(Collection<Artifact> declaredIncludeSrcs) {
- this.declaredIncludeSrcs.addAll(declaredIncludeSrcs);
- return addCompilationPrerequisites(declaredIncludeSrcs);
+ for (Artifact source : declaredIncludeSrcs) {
+ addDeclaredIncludeSrc(source);
+ }
+ return this;
}
public Builder addModularHdrs(Collection<Artifact> headers) {