aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java
index 2ad342dd67..dc174850db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java
@@ -183,10 +183,16 @@ public final class CppFileTypes {
}
};
- public static final boolean mustProduceDotdFile(String source) {
- return !ASSEMBLER.matches(source)
- && !PIC_ASSEMBLER.matches(source)
- && !CLIF_INPUT_PROTO.matches(source);
+ public static final boolean mustProduceDotdFile(Artifact source) {
+ // Sources from TreeArtifacts and TreeFileArtifacts will not generate dotd file.
+ if (source.isTreeArtifact() || source.hasParent()) {
+ return false;
+ }
+
+ String fileName = source.getFilename();
+ return !ASSEMBLER.matches(fileName)
+ && !PIC_ASSEMBLER.matches(fileName)
+ && !CLIF_INPUT_PROTO.matches(fileName);
}
}