aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-07-25 15:00:14 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-25 15:02:02 -0700
commit1ed89aa24c91248fc062477250d5188940a848de (patch)
tree52dd5f464cedcc69f7576a3897cad89e0aba3b27 /src/main/java/com/google/devtools/build/lib/rules/java
parent03bd99d4a4a6ae51b45907fc4b8677eeafe1d6c8 (diff)
Automated rollback of commit 16dde0de06a3a4157a13e7e7264afeb6a50b2dde.
*** Reason for rollback *** Crash (see linked bug). PiperOrigin-RevId: 206060905
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/proto/JplCcLinkParams.java29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JplCcLinkParams.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JplCcLinkParams.java
index 09aeecc79c..68f7222d46 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JplCcLinkParams.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JplCcLinkParams.java
@@ -15,10 +15,12 @@
package com.google.devtools.build.lib.rules.java.proto;
import com.google.common.collect.ImmutableList;
-import com.google.devtools.build.lib.analysis.AnalysisUtils;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget;
+import com.google.devtools.build.lib.rules.cpp.AbstractCcLinkParamsStore;
+import com.google.devtools.build.lib.rules.cpp.CcLinkParams;
+import com.google.devtools.build.lib.rules.cpp.CcLinkParamsStore;
import com.google.devtools.build.lib.rules.cpp.CcLinkingInfo;
import com.google.devtools.build.lib.rules.java.JavaCcLinkParamsProvider;
import java.util.ArrayList;
@@ -49,16 +51,19 @@ public class JplCcLinkParams {
.getTransitiveInfoProviderMap()
.getProvider(JavaCcLinkParamsProvider.class));
}
- ImmutableList<CcLinkingInfo> ccLinkingInfos =
- ImmutableList.<CcLinkingInfo>builder()
- .addAll(
- providers
- .stream()
- .map(JavaCcLinkParamsProvider::getCcLinkingInfo)
- .collect(ImmutableList.toImmutableList()))
- .addAll(AnalysisUtils.getProviders(protoRuntimes, CcLinkingInfo.PROVIDER))
- .build();
-
- return new JavaCcLinkParamsProvider(CcLinkingInfo.merge(ccLinkingInfos));
+ CcLinkingInfo.Builder builder = CcLinkingInfo.Builder.create();
+ builder.setCcLinkParamsStore(
+ new CcLinkParamsStore(
+ new AbstractCcLinkParamsStore() {
+ @Override
+ protected void collect(
+ CcLinkParams.Builder builder, boolean linkingStatically, boolean linkShared) {
+ for (JavaCcLinkParamsProvider provider : providers) {
+ builder.add(provider.getCcLinkingInfo().getCcLinkParamsStore());
+ }
+ builder.addTransitiveTargets(protoRuntimes);
+ }
+ }));
+ return new JavaCcLinkParamsProvider(builder.build());
}
}