aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
index f43a63ddbe..94013e3f1d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
@@ -28,6 +28,7 @@ import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.rules.cpp.CppModuleMap;
import com.google.devtools.build.lib.rules.cpp.LinkerInputs;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.syntax.ClassObject.SkylarkClassObject;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
@@ -422,6 +423,20 @@ public final class ObjcProvider extends SkylarkClassObject implements Transitive
return !get(XCASSETS_DIR).isEmpty();
}
+ @SkylarkCallable(
+ name = "include",
+ structField = true,
+ doc = "Returns a set of include search paths."
+ )
+ public SkylarkNestedSet getIncludeDirs() {
+ // TODO(b/28615250): Generalize this conversion.
+ NestedSetBuilder<String> includes = NestedSetBuilder.stableOrder();
+ for (PathFragment path : get(INCLUDE)) {
+ includes.add(path.getSafePathString());
+ }
+ return SkylarkNestedSet.of(String.class, includes.build());
+ }
+
/**
* A builder for this context with an API that is optimized for collecting information from
* several transitive dependencies.