15
15
16
16
import com .google .common .base .Preconditions ;
17
17
import com .google .common .collect .ImmutableList ;
18
+ import com .google .common .collect .ImmutableMap ;
18
19
import com .google .common .collect .ImmutableSet ;
19
20
import com .google .common .collect .Streams ;
20
21
import com .google .devtools .build .lib .actions .Artifact ;
43
44
import com .google .devtools .build .lib .syntax .Runtime ;
44
45
import com .google .devtools .build .lib .syntax .SkylarkList ;
45
46
import com .google .devtools .build .lib .syntax .SkylarkNestedSet ;
47
+ import com .google .devtools .build .lib .vfs .PathFragment ;
48
+
46
49
import java .util .ArrayList ;
47
50
import java .util .List ;
51
+ import java .util .Map ;
48
52
import java .util .Objects ;
49
53
import java .util .function .Function ;
50
54
import java .util .stream .Stream ;
@@ -127,6 +131,7 @@ public static JavaInfo merge(List<JavaInfo> providers) {
127
131
JavaInfo .fetchProvidersFromList (providers , JavaExportsProvider .class );
128
132
List <JavaRuleOutputJarsProvider > javaRuleOutputJarsProviders =
129
133
JavaInfo .fetchProvidersFromList (providers , JavaRuleOutputJarsProvider .class );
134
+ List <JavaSourceInfoProvider > sourceInfos = JavaInfo .fetchProvidersFromList (providers , JavaSourceInfoProvider .class );
130
135
131
136
Runfiles mergedRunfiles = Runfiles .EMPTY ;
132
137
for (JavaRunfilesProvider javaRunfilesProvider : javaRunfilesProviders ) {
@@ -141,12 +146,6 @@ public static JavaInfo merge(List<JavaInfo> providers) {
141
146
javaConstraints .addAll (javaInfo .getJavaConstraints ());
142
147
}
143
148
144
-
145
- // JavaCompilationInfoProvider
146
-
147
- // JavaSourceInfoProvider
148
-
149
-
150
149
return JavaInfo .Builder .create ()
151
150
.addProvider (
152
151
JavaCompilationArgsProvider .class ,
@@ -163,7 +162,9 @@ public static JavaInfo merge(List<JavaInfo> providers) {
163
162
.addProvider (
164
163
JavaPluginInfoProvider .class , JavaPluginInfoProvider .merge (javaPluginInfoProviders ))
165
164
.addProvider (JavaExportsProvider .class , JavaExportsProvider .merge (javaExportsProviders ))
165
+ .addProvider (JavaSourceInfoProvider .class , JavaSourceInfoProvider .merge (sourceInfos ))
166
166
// TODO(b/65618333): add merge function to JavaGenJarsProvider. See #3769
167
+ // TODO(iirina): merge or remove JavaCompilationInfoProvider
167
168
.setRuntimeJars (runtimeJars .build ())
168
169
.setJavaConstraints (javaConstraints .build ())
169
170
.build ();
0 commit comments