aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
diff options
context:
space:
mode:
authorGravatar Sergio Campama <kaipi@google.com>2016-11-04 21:03:25 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-11-07 09:52:58 +0000
commit6e8e9c081ed9d0fbbc77b3da5248d49ca034e5e8 (patch)
treeab71b31f430a0bfb86bd1a0cf889fb9fc0e1536c /src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
parenta0994dc961eb5a4021d6563cc9ac4a22f5c85000 (diff)
Adds Skylark support to XcTestAppProvider
-- MOS_MIGRATED_REVID=138231767
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java44
1 files changed, 44 insertions, 0 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 5583c4ece6..45380b3cd8 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
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.objc;
import com.google.common.annotations.VisibleForTesting;
+import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
import com.google.devtools.build.lib.rules.apple.AppleToolchain;
import com.google.devtools.build.lib.rules.apple.Platform;
@@ -156,6 +157,49 @@ public class AppleSkylarkCommon {
}
};
+ @SkylarkSignature(
+ name = "new_xctest_app_provider",
+ objectType = AppleSkylarkCommon.class,
+ returnType = XcTestAppProvider.class,
+ doc = "Creates a new XcTestAppProvider instance.",
+ parameters = {
+ @Param(name = "self", type = AppleSkylarkCommon.class, doc = "The apple_common instance."),
+ @Param(
+ name = "bundle_loader",
+ type = Artifact.class,
+ named = true,
+ positional = false,
+ doc = "The bundle loader for the test. Corresponds to the binary inside the test IPA."
+ ),
+ @Param(
+ name = "ipa",
+ type = Artifact.class,
+ named = true,
+ positional = false,
+ doc = "The test IPA."
+ ),
+ @Param(
+ name = "objc_provider",
+ type = ObjcProvider.class,
+ named = true,
+ positional = false,
+ doc = "An ObjcProvider that should be included by tests using this test bundle."
+ )
+ }
+ )
+ public static final BuiltinFunction NEW_XCTEST_APP_PROVIDER =
+ new BuiltinFunction("new_xctest_app_provider") {
+ @SuppressWarnings("unused")
+ // This method is registered statically for skylark, and never called directly.
+ public XcTestAppProvider invoke(
+ AppleSkylarkCommon self,
+ Artifact bundleLoader,
+ Artifact ipa,
+ ObjcProvider objcProvider) {
+ return new XcTestAppProvider(bundleLoader, ipa, objcProvider);
+ }
+ };
+
static {
SkylarkSignatureProcessor.configureSkylarkFunctions(AppleSkylarkCommon.class);
}