diff options
author | 2017-07-25 13:20:12 +0200 | |
---|---|---|
committer | 2017-07-25 13:38:00 +0200 | |
commit | 4e9190ae0198a90d5ab07ade3f2054b4125ea98f (patch) | |
tree | 2d2e9b8e29d4d7adcbb52f87d424cee4ca88ee12 /src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java | |
parent | 560b0ae4701dd2084160c45bb772396535b31f47 (diff) |
Automated rollback of commit 6d884afa8da1b08288cb0108e8bbf6c22ec63393.
*** Reason for rollback ***
Broke bazel_apple_rules
*** Original change description ***
Make all WithLegacySkylarkName providers declared providers.
RELNOTES: None
PiperOrigin-RevId: 163054821
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java | 41 |
1 files changed, 17 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java index a0a306ffc2..051bcd5dca 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcTestAppProvider.java @@ -16,9 +16,9 @@ package com.google.devtools.build.lib.rules.objc; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.analysis.TransitiveInfoProvider; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.packages.NativeClassObjectConstructor; -import com.google.devtools.build.lib.packages.NativeClassObjectConstructor.WithLegacySkylarkName; import com.google.devtools.build.lib.packages.SkylarkClassObject; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; @@ -33,21 +33,33 @@ import com.google.devtools.build.lib.util.Preconditions; "Deprecated. A provider for XCTest apps for testing. This is a legacy provider and should " + "not be used." ) -public final class XcTestAppProvider extends SkylarkClassObject { +public final class XcTestAppProvider extends SkylarkClassObject + implements TransitiveInfoProvider, TransitiveInfoProvider.WithLegacySkylarkName { /** * The skylark struct key name for a rule implementation to use when exporting an ObjcProvider. */ public static final String XCTEST_APP_SKYLARK_PROVIDER_NAME = "xctest_app"; - public static final NativeClassObjectConstructor<XcTestAppProvider> SKYLARK_CONSTRUCTOR = - new Constructor(); + @Override + public String getSkylarkName() { + return XCTEST_APP_SKYLARK_PROVIDER_NAME; + } + + private static final NativeClassObjectConstructor<XcTestAppProvider> XCTEST_APP_PROVIDER = + new NativeClassObjectConstructor<XcTestAppProvider>( + XcTestAppProvider.class, "xctest_app_provider") { + @Override + public String getErrorMessageFormatForInstances() { + return "XcTestAppProvider field %s could not be instantiated"; + } + }; private final Artifact bundleLoader; private final Artifact ipa; private final ObjcProvider objcProvider; XcTestAppProvider(Artifact bundleLoader, Artifact ipa, ObjcProvider objcProvider) { - super(SKYLARK_CONSTRUCTOR, getSkylarkFields(bundleLoader, ipa, objcProvider)); + super(XCTEST_APP_PROVIDER, getSkylarkFields(bundleLoader, ipa, objcProvider)); this.bundleLoader = Preconditions.checkNotNull(bundleLoader); this.ipa = Preconditions.checkNotNull(ipa); this.objcProvider = Preconditions.checkNotNull(objcProvider); @@ -84,23 +96,4 @@ public final class XcTestAppProvider extends SkylarkClassObject { .put("objc", objcProvider) .build(); } - - private static class Constructor - extends NativeClassObjectConstructor<XcTestAppProvider> - implements WithLegacySkylarkName { - - private Constructor() { - super(XcTestAppProvider.class, "xctest_app_provider"); - } - - @Override - public String getSkylarkName() { - return XCTEST_APP_SKYLARK_PROVIDER_NAME; - } - - @Override - public String getErrorMessageFormatForInstances() { - return "XcTestAppProvider field %s could not be instantiated"; - } - } } |