Remove inessential data from CcInfo when constructing JavaCcInfoProvider.
Removing everything, but linking context and native library info. Those are the only data that is needed down the stream.
PiperOrigin-RevId: 372517651
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCcInfoProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCcInfoProvider.java
index a384e13..626b399 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCcInfoProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCcInfoProvider.java
@@ -37,19 +37,17 @@
@AutoCodec.VisibleForSerialization
public JavaCcInfoProvider(CcInfo ccInfo) {
- this.ccInfo = ccInfo;
+ this.ccInfo =
+ CcInfo.builder()
+ .setCcLinkingContext(ccInfo.getCcLinkingContext())
+ .setCcNativeLibraryInfo(ccInfo.getCcNativeLibraryInfo())
+ .build();
}
/** Merges several JavaCcInfoProvider providers into one. */
public static JavaCcInfoProvider merge(Collection<JavaCcInfoProvider> providers) {
ImmutableList<CcInfo> ccInfos =
providers.stream().map(JavaCcInfoProvider::getCcInfo).collect(toImmutableList());
- CcInfo mergedCcInfo = CcInfo.merge(ccInfos);
- CcInfo filteredCcInfo =
- CcInfo.builder()
- .setCcLinkingContext(mergedCcInfo.getCcLinkingContext())
- .setCcNativeLibraryInfo(mergedCcInfo.getCcNativeLibraryInfo())
- .build();
- return new JavaCcInfoProvider(filteredCcInfo);
+ return new JavaCcInfoProvider(CcInfo.merge(ccInfos));
}
}