@@ -203,7 +203,7 @@ def _merge_HaskellReplLoadInfoMulti(root_info, load_infos):
203
203
java_deps = depset (transitive = java_deps ),
204
204
)
205
205
206
- def _merge_HaskellReplDepInfo (dep_infos ):
206
+ def _merge_HaskellReplDepInfo (dep_infos , dep_infos_for_package_dbs = [] ):
207
207
package_ids = depset ()
208
208
package_databases = depset ()
209
209
interface_dirs = depset ()
@@ -219,6 +219,9 @@ def _merge_HaskellReplDepInfo(dep_infos):
219
219
cc_infos .append (dep_info .cc_info )
220
220
runfiles .append (dep_info .runfiles )
221
221
222
+ for dep_info in dep_infos_for_package_dbs :
223
+ package_databases = depset (transitive = [package_databases , dep_info .package_databases ])
224
+
222
225
return HaskellReplDepInfo (
223
226
direct_package_ids = [],
224
227
package_ids = package_ids ,
@@ -409,7 +412,12 @@ def _create_HaskellMultiReplInfo(from_source, from_binary, collect_info):
409
412
for label in deps_list
410
413
if label in dep_infos and not sets .contains (local_labels , label )
411
414
]
412
- merged_dep_info = _merge_HaskellReplDepInfo (dep_infos_to_merge )
415
+ dep_infos_for_package_dbs = [
416
+ dep_infos [label ]
417
+ for label in deps_list
418
+ if label in dep_infos and sets .contains (local_labels , label )
419
+ ]
420
+ merged_dep_info = _merge_HaskellReplDepInfo (dep_infos_to_merge , dep_infos_for_package_dbs )
413
421
if dep_info and not load_as_source :
414
422
dep_info_with_self = _merge_HaskellReplDepInfo ([dep_info , merged_dep_info ])
415
423
else :
0 commit comments