diff options
author | janakr <janakr@google.com> | 2018-07-25 15:00:14 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-25 15:02:02 -0700 |
commit | 1ed89aa24c91248fc062477250d5188940a848de (patch) | |
tree | 52dd5f464cedcc69f7576a3897cad89e0aba3b27 /src/main/java/com/google/devtools/build/lib/rules/java | |
parent | 03bd99d4a4a6ae51b45907fc4b8677eeafe1d6c8 (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.java | 29 |
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()); } } |