aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-08-30 03:10:41 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-08-30 13:48:58 +0200
commitfc41c430e4de4594a1d699f573d191cbad52a2fb (patch)
tree60bfc201402d9b810952ac62ba564247415294cf /src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
parent75f97c1194c82bdd59f0a8c2809e7bfa464b01d4 (diff)
Move ObjcProvider FLAG into a new provider type (TransitiveSourcesProvider) that is accessible to the c++ rules.
PiperOrigin-RevId: 166934390
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java7
1 files changed, 5 insertions, 2 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 b31f682c93..16eef28170 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
@@ -28,6 +28,7 @@ import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
import com.google.devtools.build.lib.analysis.RuleConfiguredTargetFactory;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
+import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMap;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
@@ -106,6 +107,7 @@ public class AppleStaticLibrary implements RuleConfiguredTargetFactory {
ruleContext.getPrerequisitesByConfiguration("deps", Mode.SPLIT, ObjcProtoProvider.class);
Map<String, NestedSet<Artifact>> outputGroupCollector = new TreeMap<>();
+ ImmutableList.Builder<TransitiveInfoProviderMap> providerCollector = ImmutableList.builder();
for (BuildConfiguration childConfig : childConfigurationsAndToolchains.keySet()) {
Iterable<ObjcProtoProvider> objcProtoProviders = objcProtoProvidersMap.get(childConfig);
ProtobufSupport protoSupport =
@@ -143,6 +145,7 @@ public class AppleStaticLibrary implements RuleConfiguredTargetFactory {
.setRuleContext(ruleContext)
.setConfig(childConfig)
.setOutputGroupCollector(outputGroupCollector)
+ .setProviderCollector(providerCollector)
.build();
compilationSupport
@@ -182,8 +185,8 @@ public class AppleStaticLibrary implements RuleConfiguredTargetFactory {
.addNativeDeclaredProvider(objcProvider)
.addNativeDeclaredProvider(
new AppleStaticLibraryProvider(
- ruleIntermediateArtifacts.combinedArchitectureArchive(),
- objcProvider))
+ ruleIntermediateArtifacts.combinedArchitectureArchive(), objcProvider))
+ .addProviderMaps(providerCollector.build())
.addOutputGroups(outputGroupCollector);
return targetBuilder.build();
}