diff options
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.java | 14 |
1 files changed, 14 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 51a3c435fa..4039722fbd 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 @@ -18,6 +18,7 @@ import static com.google.devtools.build.lib.collect.nestedset.Order.LINK_ORDER; import static com.google.devtools.build.lib.collect.nestedset.Order.STABLE_ORDER; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; @@ -750,6 +751,19 @@ public final class ObjcProvider extends Info { } /** + * Convenience method to add a modulemap to this ObjcProvider. + */ + public Builder addModuleMap(CppModuleMap moduleMap) { + Optional<Artifact> umbrellaHeader = moduleMap.getUmbrellaHeader(); + if (umbrellaHeader.isPresent()) { + add(UMBRELLA_HEADER, umbrellaHeader.get()); + } + add(MODULE_MAP, moduleMap.getArtifact()); + add(TOP_LEVEL_MODULE_MAP, moduleMap); + return this; + } + + /** * Add all elements from providers, and propagate them to any (transitive) dependers on this * ObjcProvider. */ |