diff options
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.java | 44 |
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); } |