@@ -212,7 +212,7 @@ def _merge_HaskellReplLoadInfoMulti(root_info, load_infos):
212212 java_deps = depset (transitive = java_deps ),
213213 )
214214
215- def _merge_HaskellReplDepInfo (dep_infos ):
215+ def _merge_HaskellReplDepInfo (dep_infos , dep_infos_for_package_dbs = [] ):
216216 package_ids = depset ()
217217 package_databases = depset ()
218218 interface_dirs = depset ()
@@ -230,6 +230,9 @@ def _merge_HaskellReplDepInfo(dep_infos):
230230 cc_shared_library_infos .extend (dep_info .cc_shared_library_infos )
231231 runfiles .append (dep_info .runfiles )
232232
233+ for dep_info in dep_infos_for_package_dbs :
234+ package_databases = depset (transitive = [package_databases , dep_info .package_databases ])
235+
233236 return HaskellReplDepInfo (
234237 direct_package_ids = [],
235238 package_ids = package_ids ,
@@ -434,7 +437,12 @@ def _create_HaskellMultiReplInfo(from_source, from_binary, collect_info):
434437 for label in deps_list
435438 if label in dep_infos and not sets .contains (local_labels , label )
436439 ]
437- merged_dep_info = _merge_HaskellReplDepInfo (dep_infos_to_merge )
440+ dep_infos_for_package_dbs = [
441+ dep_infos [label ]
442+ for label in deps_list
443+ if label in dep_infos and sets .contains (local_labels , label )
444+ ]
445+ merged_dep_info = _merge_HaskellReplDepInfo (dep_infos_to_merge , dep_infos_for_package_dbs )
438446 if dep_info and not load_as_source :
439447 dep_info_with_self = _merge_HaskellReplDepInfo ([dep_info , merged_dep_info ])
440448 else :
0 commit comments