aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Dmitry Shevchenko <dmishe@google.com>2016-05-17 21:46:08 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-05-17 21:58:20 +0000
commit2d2d123fa3bb75f91feb21331c367db92447222d (patch)
treece9050577190637f8eabed6693f47a57cf40b196
parentf76c9599dc6898de7338a7d93350e0361f338921 (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.java14
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) {