aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2017-11-28 14:07:24 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-28 14:09:31 -0800
commit854b6c58039f8213acc044cb4e24d1d7811ffb05 (patch)
treef91dc96bee27ef62b0c849b2adc88b32b475b798 /src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
parent801109f1e30607bd57ca42dac0cf60b75e8a7831 (diff)
Eliminate STATIC_FRAMEWORK_DIR as a separate field of ObjcProvider.
Infer those values from STATIC_FRAMEWORK_FILE. This correctly dedupes static frameworks between an app and its dylibs. RELNOTES: None. PiperOrigin-RevId: 177214770
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
index f3937f6549..c2fe4d631e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
@@ -66,6 +66,18 @@ public class ObjcProviderSkylarkConverters {
}
/**
+ * Converts {@link PathFragment}s into a skylark-compatible nested set of path strings.
+ */
+ public static SkylarkNestedSet convertPathFragmentsToSkylark(
+ Iterable<PathFragment> pathFragments) {
+ NestedSetBuilder<String> result = NestedSetBuilder.stableOrder();
+ for (PathFragment path : pathFragments) {
+ result.add(path.getSafePathString());
+ }
+ return SkylarkNestedSet.of(String.class, result.build());
+ }
+
+ /**
* A converter for ObjcProvider values.
*/
private static interface Converter {
@@ -106,11 +118,7 @@ public class ObjcProviderSkylarkConverters {
@SuppressWarnings("unchecked")
@Override
public Object valueForSkylark(Key<?> javaKey, NestedSet<?> javaValue) {
- NestedSetBuilder<String> result = NestedSetBuilder.stableOrder();
- for (PathFragment path : (Iterable<PathFragment>) javaValue) {
- result.add(path.getSafePathString());
- }
- return SkylarkNestedSet.of(String.class, result.build());
+ return convertPathFragmentsToSkylark((NestedSet<PathFragment>) javaValue);
}
@SuppressWarnings("unchecked")