Add includes as a transitive member.
RELNOTES: None.
PiperOrigin-RevId: 250306687
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationAttributes.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationAttributes.java
index 8bac4e6..cd57d3f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationAttributes.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationAttributes.java
@@ -18,7 +18,6 @@
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
-import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Artifact;
@@ -34,7 +33,6 @@
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.vfs.PathFragment;
-import java.util.List;
/**
* Provides a way to access attributes that are common to all compilation rules.
@@ -387,15 +385,12 @@
public NestedSet<PathFragment> headerSearchPaths(PathFragment genfilesFragment) {
NestedSetBuilder<PathFragment> paths = NestedSetBuilder.stableOrder();
if (packageFragment.isPresent()) {
- List<PathFragment> rootFragments =
- ImmutableList.of(
- packageFragment.get(), genfilesFragment.getRelative(packageFragment.get()));
-
- Iterable<PathFragment> relativeIncludes =
- Iterables.filter(includes(), Predicates.not(PathFragment::isAbsolute));
- for (PathFragment include : relativeIncludes) {
- for (PathFragment rootFragment : rootFragments) {
- paths.add(rootFragment.getRelative(include));
+ PathFragment packageFrag = packageFragment.get();
+ PathFragment genfilesFrag = genfilesFragment.getRelative(packageFrag);
+ for (PathFragment include : includes()) {
+ if (!include.isAbsolute()) {
+ paths.add(packageFrag.getRelative(include));
+ paths.add(genfilesFrag.getRelative(include));
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
index 5c3d8b7..7ca9601 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
@@ -420,7 +420,8 @@
objcProvider
.addAll(HEADER, filterFileset(attributes.hdrs()))
.addAll(HEADER, filterFileset(attributes.textualHdrs()))
- .addAll(INCLUDE, attributes.headerSearchPaths(buildConfiguration.getGenfilesFragment()))
+ .addTransitiveAndPropagate(
+ INCLUDE, attributes.headerSearchPaths(buildConfiguration.getGenfilesFragment()))
.addAll(INCLUDE, sdkIncludes)
.addAll(SDK_FRAMEWORK, attributes.sdkFrameworks())
.addAll(WEAK_SDK_FRAMEWORK, attributes.weakSdkFrameworks())