aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-04-10 14:47:47 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-10 14:49:46 -0700
commit9594f2c454acf71beb4bccdcf4f7e40c83288e51 (patch)
tree3d87a4d632a6556d60100268db94125f1e16d2b1 /src
parent8f4095917e0c5df71164d003a041c0cd3ee46c63 (diff)
Migrate apple_common.new_objc_provider to use @SkylarkCallable
RELNOTES: None. PiperOrigin-RevId: 192350172
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java64
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java2
2 files changed, 29 insertions, 37 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 b4c07e32fd..f073292516 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
@@ -42,8 +42,6 @@ import com.google.devtools.build.lib.rules.objc.ObjcProvider.Key;
import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkSignature;
-import com.google.devtools.build.lib.syntax.BuiltinFunction;
import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.Runtime;
@@ -343,13 +341,10 @@ public class AppleSkylarkCommon {
return new MultiArchSplitTransitionProvider();
}
- @SkylarkSignature(
+ @SkylarkCallable(
name = "new_objc_provider",
- objectType = AppleSkylarkCommon.class,
- returnType = ObjcProvider.class,
doc = "Creates a new ObjcProvider instance.",
parameters = {
- @Param(name = "self", type = AppleSkylarkCommon.class, doc = "The apple_common instance."),
@Param(
name = "uses_swift",
type = Boolean.class,
@@ -368,37 +363,34 @@ public class AppleSkylarkCommon {
),
useEnvironment = true
)
- public static final BuiltinFunction NEW_OBJC_PROVIDER =
- new BuiltinFunction("new_objc_provider") {
- @SuppressWarnings("unused")
- // This method is registered statically for skylark, and never called directly.
- public ObjcProvider invoke(
- AppleSkylarkCommon self, Boolean usesSwift, SkylarkDict<String, Object> kwargs,
- Environment environment) {
- boolean disableObjcResourceKeys =
- environment.getSemantics().incompatibleDisableObjcProviderResources();
- ObjcProvider.Builder resultBuilder = new ObjcProvider.Builder(environment.getSemantics());
- 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) {
- if (disableObjcResourceKeys && ObjcProvider.isDeprecatedResourceKey(key)) {
- throw new IllegalArgumentException(String.format(BAD_KEY_ERROR, entry.getKey()));
- }
- resultBuilder.addElementsFromSkylark(key, entry.getValue());
- } else if (entry.getKey().equals("providers")) {
- resultBuilder.addProvidersFromSkylark(entry.getValue());
- } else if (entry.getKey().equals("direct_dep_providers")) {
- resultBuilder.addDirectDepProvidersFromSkylark(entry.getValue());
- } else {
- throw new IllegalArgumentException(String.format(BAD_KEY_ERROR, entry.getKey()));
- }
- }
- return resultBuilder.build();
+ // This method is registered statically for skylark, and never called directly.
+ public ObjcProvider newObjcProvider(
+ Boolean usesSwift,
+ SkylarkDict<?, ?> kwargs,
+ Environment environment) {
+ boolean disableObjcResourceKeys =
+ environment.getSemantics().incompatibleDisableObjcProviderResources();
+ ObjcProvider.Builder resultBuilder = new ObjcProvider.Builder(environment.getSemantics());
+ if (usesSwift) {
+ resultBuilder.add(ObjcProvider.FLAG, ObjcProvider.Flag.USES_SWIFT);
+ }
+ for (Entry<?, ?> entry : kwargs.entrySet()) {
+ Key<?> key = ObjcProvider.getSkylarkKeyForString((String) entry.getKey());
+ if (key != null) {
+ if (disableObjcResourceKeys && ObjcProvider.isDeprecatedResourceKey(key)) {
+ throw new IllegalArgumentException(String.format(BAD_KEY_ERROR, entry.getKey()));
}
- };
+ resultBuilder.addElementsFromSkylark(key, entry.getValue());
+ } else if (entry.getKey().equals("providers")) {
+ resultBuilder.addProvidersFromSkylark(entry.getValue());
+ } else if (entry.getKey().equals("direct_dep_providers")) {
+ resultBuilder.addDirectDepProvidersFromSkylark(entry.getValue());
+ } else {
+ throw new IllegalArgumentException(String.format(BAD_KEY_ERROR, entry.getKey()));
+ }
+ }
+ return resultBuilder.build();
+ }
@SkylarkCallable(
name = "new_dynamic_framework_provider",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
index 7a63720693..02fb74f771 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
@@ -1378,7 +1378,7 @@ public class ObjcSkylarkTest extends ObjcRuleTestCase {
} catch (AssertionError e) {
assertThat(e)
.hasMessageThat()
- .contains("in call to new_objc_provider: Argument xib not a recognized key");
+ .contains("Argument xib not a recognized key");
}
}