aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoProvider.java13
6 files changed, 20 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
index 8b8a27ea8e..54b1072112 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
@@ -85,7 +85,7 @@ public class AppleStaticLibrary implements RuleConfiguredTargetFactory {
Mode.SPLIT, CcLinkParamsInfo.PROVIDER);
Iterable<ObjcProtoProvider> avoidProtoProviders =
ruleContext.getPrerequisites(AppleStaticLibraryRule.AVOID_DEPS_ATTR_NAME, Mode.TARGET,
- ObjcProtoProvider.class);
+ ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
NestedSet<Artifact> protosToAvoid = protoArtifactsToAvoid(avoidProtoProviders);
Map<BuildConfiguration, CcToolchainProvider> childConfigurationsAndToolchains =
@@ -103,7 +103,8 @@ public class AppleStaticLibrary implements RuleConfiguredTargetFactory {
ObjcProvider.Builder objcProviderBuilder = new ObjcProvider.Builder();
ImmutableListMultimap<BuildConfiguration, ObjcProtoProvider> objcProtoProvidersMap =
- ruleContext.getPrerequisitesByConfiguration("deps", Mode.SPLIT, ObjcProtoProvider.class);
+ ruleContext.getPrerequisitesByConfiguration("deps", Mode.SPLIT,
+ ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
Map<String, NestedSet<Artifact>> outputGroupCollector = new TreeMap<>();
for (Entry<BuildConfiguration, CcToolchainProvider> childConfigAndToolchain :
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
index 9b5d87a897..436a2aa3d0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
@@ -89,7 +89,7 @@ public final class IosTest implements RuleConfiguredTargetFactory {
+ "(https://github.com/bazelbuild/rules_apple) to build Apple targets.");
Iterable<ObjcProtoProvider> objcProtoProviders =
- ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProtoProvider.class);
+ ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
ProtobufSupport protoSupport =
new ProtobufSupport(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
index 5f2785114d..d2b5be83bd 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
@@ -222,7 +222,7 @@ public class MultiArchBinarySupport {
throws RuleErrorException, InterruptedException {
Iterable<ObjcProvider> dylibObjcProviders = getDylibObjcProviders(dylibProviders);
Iterable<ObjcProtoProvider> dylibProtoProviders =
- getTypedProviders(dylibProviders, ObjcProtoProvider.class);
+ getTypedProviders(dylibProviders, ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
NestedSet<Artifact> protosToAvoid = protoArtifactsToAvoid(dylibProtoProviders);
ImmutableSet.Builder<DependencySpecificConfiguration> childInfoBuilder = ImmutableSet.builder();
@@ -230,7 +230,7 @@ public class MultiArchBinarySupport {
Iterable<TransitiveInfoCollection> infoCollections =
configToDepsCollectionMap.get(childConfig);
Iterable<ObjcProtoProvider> depProtoProviders =
- getTypedProviders(infoCollections, ObjcProtoProvider.class);
+ getTypedProviders(infoCollections, ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
Optional<ObjcProvider> protosObjcProvider;
if (ObjcRuleClasses.objcConfiguration(ruleContext).enableAppleBinaryNativeProtos()) {
ProtobufSupport protoSupport =
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
index 5d74c1bf94..5143484b0a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
@@ -56,7 +56,7 @@ public class ObjcProtoAspect extends NativeAspectClass implements ConfiguredAspe
if (ruleContext.attributes().has("deps", BuildType.LABEL_LIST)) {
Iterable<ObjcProtoProvider> depObjcProtoProviders =
- ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProtoProvider.class);
+ ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
aspectObjcProtoProvider.addTransitive(depObjcProtoProviders);
}
@@ -105,7 +105,7 @@ public class ObjcProtoAspect extends NativeAspectClass implements ConfiguredAspe
// Only add the provider if it has any values, otherwise skip it.
if (!aspectObjcProtoProvider.isEmpty()) {
- aspectBuilder.addProvider(aspectObjcProtoProvider.build());
+ aspectBuilder.addNativeDeclaredProvider(aspectObjcProtoProvider.build());
}
return aspectBuilder.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
index 5a3f00553a..5fa5a1d198 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
@@ -43,7 +43,7 @@ public class ObjcProtoLibrary implements RuleConfiguredTargetFactory {
ruleContext.getPrerequisites("deps", Mode.TARGET, ProtoSourcesProvider.class);
Iterable<ObjcProtoProvider> objcProtoProviders =
- ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProtoProvider.class);
+ ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProtoProvider.SKYLARK_CONSTRUCTOR);
ProtobufSupport protoSupport =
new ProtobufSupport(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoProvider.java
index b8dd834ff0..2401682a7f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoProvider.java
@@ -16,9 +16,10 @@ package com.google.devtools.build.lib.rules.objc;
import com.google.common.base.Preconditions;
import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
+import com.google.devtools.build.lib.packages.NativeInfo;
+import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.vfs.PathFragment;
/**
@@ -38,7 +39,14 @@ import com.google.devtools.build.lib.vfs.PathFragment;
* all the time (whether protos are used or not), the dependency is specified on objc_proto_library
* instead.
*/
-public class ObjcProtoProvider implements TransitiveInfoProvider {
+public class ObjcProtoProvider extends NativeInfo {
+
+ /** Skylark name for the ObjcProtoProvider. */
+ public static final String SKYLARK_NAME = "ObjcProto";
+
+ /** Skylark constructor and identifier for AppleExecutableBinaryProvider. */
+ public static final NativeProvider<ObjcProtoProvider> SKYLARK_CONSTRUCTOR =
+ new NativeProvider<ObjcProtoProvider>(ObjcProtoProvider.class, SKYLARK_NAME) {};
private final NestedSet<NestedSet<Artifact>> protoGroups;
private final NestedSet<Artifact> protobufHeaders;
@@ -50,6 +58,7 @@ public class ObjcProtoProvider implements TransitiveInfoProvider {
NestedSet<Artifact> portableProtoFilters,
NestedSet<Artifact> protobufHeaders,
NestedSet<PathFragment> protobufHeaderSearchPaths) {
+ super(SKYLARK_CONSTRUCTOR);
this.protoGroups = Preconditions.checkNotNull(protoGroups);
this.portableProtoFilters = Preconditions.checkNotNull(portableProtoFilters);
this.protobufHeaders = Preconditions.checkNotNull(protobufHeaders);