diff options
author | Dmitry Shevchenko <dmishe@google.com> | 2016-05-05 20:10:54 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-05-06 09:29:48 +0000 |
commit | 76c58128251f39c7d1fe4cae412e7ca9a8447e3b (patch) | |
tree | 1514310acb58ad136f22265e532dfcc3067efe65 /src/main | |
parent | 22b7dc4473b1a293de55199ff7aa2ddce5e28827 (diff) |
Expose ObjcProvider.INCLUDE to Skylark (read-only).
RELNOTES: Skylark targets can now read include directories from ObjcProvider.
--
MOS_MIGRATED_REVID=121608039
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java | 15 |
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. |