aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-07-31 00:54:35 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-31 00:56:52 -0700
commit15b27e46ad766e777fb898f39bff06efa9268c2a (patch)
treed1c6b5d05116df0c88b9b6f7610f167d64132d3c /src/main/java/com/google/devtools/build/lib/rules/java
parente03a1190184b387f6b952085da371a6c38a6212d (diff)
Do not collect source jars for neverlink targets.
RELNOTES: none. PiperOrigin-RevId: 206717454
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/JavaInfoBuildHelper.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
index 26e837b5a7..f379ee5e60 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfoBuildHelper.java
@@ -528,10 +528,13 @@ final class JavaInfoBuildHelper {
NestedSetBuilder<Artifact> transitiveSourceJars =
NestedSetBuilder.<Artifact>stableOrder().addAll(outputSourceJars);
- for (JavaSourceJarsProvider sourceJarsProvider :
- JavaInfo.getProvidersFromListOfJavaProviders(JavaSourceJarsProvider.class, deps)) {
- transitiveSourceJars.addTransitive(sourceJarsProvider.getTransitiveSourceJars());
- }
+ deps.stream()
+ .filter(javaInfo -> !javaInfo.isNeverlink())
+ .filter(javaInfo -> javaInfo.getProvider(JavaSourceJarsProvider.class) != null)
+ .map(javaInfo -> javaInfo.getProvider(JavaSourceJarsProvider.class))
+ .forEach(
+ sourceJarsP ->
+ transitiveSourceJars.addTransitive(sourceJarsP.getTransitiveSourceJars()));
return javaInfoBuilder
.addProvider(JavaCompilationArgsProvider.class, javaCompilationArgsProvider)