diff options
author | 2017-11-28 14:07:24 -0800 | |
---|---|---|
committer | 2017-11-28 14:09:31 -0800 | |
commit | 854b6c58039f8213acc044cb4e24d1d7811ffb05 (patch) | |
tree | f91dc96bee27ef62b0c849b2adc88b32b475b798 /src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java | |
parent | 801109f1e30607bd57ca42dac0cf60b75e8a7831 (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.java | 18 |
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") |