From e1cd3b9094e44b36607eb52a819ee76f561dcd18 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Tue, 14 Aug 2018 10:59:50 +0300 Subject: [PATCH] Revert changes to resolve_user_deps Signed-off-by: Rudi Grinberg --- src/lib.ml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib.ml b/src/lib.ml index 97caa61f..f15a49dd 100644 --- a/src/lib.ml +++ b/src/lib.ml @@ -814,16 +814,26 @@ and resolve_user_deps db deps ~allow_private_deps ~pps ~stack = closure_with_overlap_checks None pps ~stack in let deps = + let rec check_runtime_deps acc pps = function + | [] -> loop acc pps + | lib :: ppx_rts -> + check_private_deps lib ~loc ~allow_private_deps >>= fun rt -> + check_runtime_deps (rt :: acc) pps ppx_rts + and loop acc = function + | [] -> Ok acc + | pp :: pps -> + pp.ppx_runtime_deps >>= fun rt_deps -> + check_runtime_deps acc pps rt_deps + in deps >>= fun deps -> - pps >>= Result.List.concat_map ~f:(fun pp -> pp.ppx_runtime_deps) - >>| List.rev_append deps - >>= Result.List.map ~f:(check_private_deps ~loc ~allow_private_deps) + pps >>= fun pps -> + loop deps pps in (deps, pps) in (deps, pps, resolved_selects) -and closure_with_overlap_checks db ts ~stack = + and closure_with_overlap_checks db ts ~stack = let visited = ref String.Map.empty in let res = ref [] in let orig_stack = stack in