From c003cc2c1d40784cfa24c77388c72ca6bf056592 Mon Sep 17 00:00:00 2001 From: rduan Date: Thu, 20 Jul 2017 22:17:42 +0200 Subject: Add all generated headers as mandatory inputs for compile actions. We previously only add those under genfiles root. But J2ObjC and objc proto headers are under the bin root, which we may also fix in the near future. RELNOTES: None. PiperOrigin-RevId: 162656166 --- .../google/devtools/build/lib/rules/objc/ObjcCppSemantics.java | 4 +--- src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java | 8 -------- 2 files changed, 1 insertion(+), 11 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib') diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCppSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCppSemantics.java index 51d4c7c9a6..30b9710604 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCppSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCppSemantics.java @@ -112,10 +112,8 @@ public class ObjcCppSemantics implements CppSemantics { // TODO(b/62060839): Identify the mechanism used to add generated headers in c++, and recycle // it here. - PathFragment genfilesSegment = - ruleContext.getConfiguration().getGenfilesDirectory().getExecPath().getLastSegment(); for (Artifact header : objcProvider.get(HEADER)) { - if (genfilesSegment.equals(header.getRoot().getExecPath().getLastSegment())) { + if (!header.isSourceArtifact()) { generatedHeaders.add(header); } } diff --git a/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java b/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java index 279c8c5dd0..cc9aa199d3 100644 --- a/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java +++ b/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java @@ -523,14 +523,6 @@ public abstract class PathFragment implements Comparable, Serializ return relativeTo(create(path)); } - /** - * Returns the last segment in this path, or null if this PathFragment represents the root of the - * filesystem. - */ - public PathFragment getLastSegment() { - return segments.length == 0 ? null : relativeTo(getParentDirectory()); - } - /** * Returns a new PathFragment formed by appending {@code newName} to the * parent directory. Null is returned iff this method is called on a -- cgit v1.2.3