Skip to content

Commit e1ea3b4

Browse files
authored
Use Action_builder in Gen_meta (#12771)
As we can see from the callers, this is the the right type that we expect everywhere and we remove some uses of [Resolve.Memo.read_memo] which break lazy loading. Signed-off-by: Rudi Grinberg <[email protected]>
1 parent 75e471d commit e1ea3b4

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

src/dune_rules/gen_meta.ml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
open Import
2-
open Memo.O
32
open Meta
43

54
module Pub_name = struct
@@ -61,6 +60,7 @@ let archives ?(preds = []) lib =
6160
;;
6261

6362
let gen_lib pub_name lib ~version =
63+
let open Action_builder.O in
6464
let info = Lib.info lib in
6565
let synopsis = Lib_info.synopsis info in
6666
let kind = Lib_info.kind info in
@@ -87,10 +87,10 @@ let gen_lib pub_name lib ~version =
8787
| _ -> name
8888
in
8989
let to_names = Lib_name.Set.of_list_map ~f:name in
90-
let* lib_deps = Resolve.Memo.read_memo (Lib.requires lib) >>| to_names in
91-
let* lib_re_exports = Resolve.Memo.read_memo (Lib.re_exports lib) >>| to_names in
90+
let* lib_deps = Resolve.Memo.read (Lib.requires lib) >>| to_names in
91+
let* lib_re_exports = Resolve.Memo.read (Lib.re_exports lib) >>| to_names in
9292
let* ppx_rt_deps =
93-
Lib.ppx_runtime_deps lib |> Memo.bind ~f:Resolve.read_memo |> Memo.map ~f:to_names
93+
Lib.ppx_runtime_deps lib |> Resolve.Memo.read |> Action_builder.map ~f:to_names
9494
in
9595
let+ ppx_runtime_deps_for_deprecated_method =
9696
(* For the deprecated method, we need to put all the runtime dependencies of
@@ -106,7 +106,7 @@ let gen_lib pub_name lib ~version =
106106
Lib.closure [ lib ] ~linking:false
107107
>>= Resolve.Memo.List.concat_map ~f:Lib.ppx_runtime_deps
108108
>>| to_names
109-
|> Resolve.Memo.read_memo
109+
|> Resolve.Memo.read
110110
in
111111
List.concat
112112
[ version
@@ -168,14 +168,14 @@ let gen_lib pub_name lib ~version =
168168
;;
169169

170170
let gen ~(package : Package.t) ~add_directory_entry entries =
171-
let open Memo.O in
171+
let open Action_builder.O in
172172
let version =
173173
match Package.version package with
174174
| None -> []
175175
| Some s -> [ rule "version" [] Set (Package_version.to_string s) ]
176176
in
177177
let+ pkgs =
178-
Memo.parallel_map entries ~f:(fun (e : Scope.DB.Lib_entry.t) ->
178+
Action_builder.List.map entries ~f:(fun (e : Scope.DB.Lib_entry.t) ->
179179
match e with
180180
| Library lib ->
181181
let info = Lib.Local.info lib in
@@ -210,7 +210,7 @@ let gen ~(package : Package.t) ~add_directory_entry entries =
210210
| Deprecated_library_name
211211
{ old_name = old_public_name, _; new_public_name = _, new_public_name; _ } ->
212212
let deps = Lib_name.Set.singleton new_public_name in
213-
Memo.return
213+
Action_builder.return
214214
( Pub_name.of_lib_name (Public_lib.name old_public_name)
215215
, version @ [ requires deps; exports deps ] ))
216216
in

src/dune_rules/gen_meta.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ val gen
99
: package:Package.t
1010
-> add_directory_entry:bool
1111
-> Scope.DB.Lib_entry.t list
12-
-> Meta.t Memo.t
12+
-> Meta.t Action_builder.t

src/dune_rules/install_rules.ml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -893,10 +893,8 @@ end = struct
893893
(let open Action_builder.O in
894894
(let+ template = template
895895
and+ (meta : Meta.t) =
896-
let open Memo.O in
897-
meta_entries
896+
Action_builder.of_memo meta_entries
898897
>>= Gen_meta.gen ~package:pkg ~add_directory_entry:true
899-
|> Action_builder.of_memo
900898
in
901899
let pp =
902900
Pp.concat_map template ~sep:Pp.newline ~f:(fun s ->
@@ -945,7 +943,6 @@ end = struct
945943
|> List.map ~f:(fun deprecated ->
946944
Scope.DB.Lib_entry.Deprecated_library_name deprecated)
947945
|> Gen_meta.gen ~package:pkg ~add_directory_entry:false
948-
|> Action_builder.of_memo
949946
in
950947
let open Pp.O in
951948
Pp.vbox (Meta.pp meta.entries ++ Pp.cut)

0 commit comments

Comments
 (0)