From fc41c430e4de4594a1d699f573d191cbad52a2fb Mon Sep 17 00:00:00 2001 From: cpeyser Date: Wed, 30 Aug 2017 03:10:41 +0200 Subject: Move ObjcProvider FLAG into a new provider type (TransitiveSourcesProvider) that is accessible to the c++ rules. PiperOrigin-RevId: 166934390 --- .../google/devtools/build/lib/rules/objc/AppleStaticLibrary.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java') 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> outputGroupCollector = new TreeMap<>(); + ImmutableList.Builder providerCollector = ImmutableList.builder(); for (BuildConfiguration childConfig : childConfigurationsAndToolchains.keySet()) { Iterable 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(); } -- cgit v1.2.3