diff options
author | 2016-05-17 21:46:08 +0000 | |
---|---|---|
committer | 2016-05-17 21:58:20 +0000 | |
commit | 2d2d123fa3bb75f91feb21331c367db92447222d (patch) | |
tree | ce9050577190637f8eabed6693f47a57cf40b196 | |
parent | f76c9599dc6898de7338a7d93350e0361f338921 (diff) |
Add a way to set USES_SWIFT flag from Skylark.
RELNOTES: new_objc_provider can now set the USES_SWIFT flag.
--
MOS_MIGRATED_REVID=122566589
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java index a8d9931cd6..2bcf821fc8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java @@ -71,6 +71,14 @@ public class AppleSkylarkCommon { mandatoryPositionals = { @Param(name = "self", type = AppleSkylarkCommon.class, doc = "The apple_common instance.") }, + optionalNamedOnly = { + @Param( + name = "uses_swift", + type = Boolean.class, + defaultValue = "False", + doc = "Whether this provider should enable Swift support." + ) + }, extraKeywords = { @Param( name = "kwargs", @@ -84,8 +92,12 @@ public class AppleSkylarkCommon { new BuiltinFunction("new_objc_provider") { @SuppressWarnings("unused") // This method is registered statically for skylark, and never called directly. - public ObjcProvider invoke(AppleSkylarkCommon self, SkylarkDict<String, Object> kwargs) { + public ObjcProvider invoke( + AppleSkylarkCommon self, Boolean usesSwift, SkylarkDict<String, Object> kwargs) { ObjcProvider.Builder resultBuilder = new ObjcProvider.Builder(); + if (usesSwift) { + resultBuilder.add(ObjcProvider.FLAG, ObjcProvider.Flag.USES_SWIFT); + } for (Entry<String, Object> entry : kwargs.entrySet()) { Key<?> key = ObjcProvider.getSkylarkKeyForString(entry.getKey()); if (key != null) { |