@@ 1,5 1,6 @@
-ocaml >= "4.12.0"
-toml >= "6"
cmdliner >= "1.3.0"
containers >= "3.12"
+ocaml >= "4.13.0"
process >= "0.2.1"
+sqlite3 >= "5.0.0"
+toml >= "6"
No newline at end of file
@@ 19,6 19,11 @@ let printf = Printf.printf
let fprintf = Printf.fprintf
let sprintf = Printf.sprintf
+let add_to_list k v m =
+ match String_map.find_opt k m with
+ | Some v' -> String_map.add k (v :: v') m
+ | None -> String_map.add k [ v ] m
+
module Cmdline = struct
module C = Cmdliner
@@ 398,15 403,13 @@ module Hash_db = struct
in
let srcs_map =
CCList.fold_left
- (fun acc ({ Build.Src.build_name; _ } as build) ->
- String_map.add_to_list build_name build acc)
+ (fun acc ({ Build.Src.build_name; _ } as build) -> add_to_list build_name build acc)
String_map.empty
srcs
in
let tests_map =
CCList.fold_left
- (fun acc ({ Build.Test.build_name; _ } as build) ->
- String_map.add_to_list build_name build acc)
+ (fun acc ({ Build.Test.build_name; _ } as build) -> add_to_list build_name build acc)
String_map.empty
tests
in
@@ 680,17 683,11 @@ let apply_and_write_template tmpl_name o
let emit_pds_mk { Build.build_types; srcs; tests } =
let srcs_by_type =
let m = String_map.of_list @@ List.map (fun bt -> (bt, [])) build_types in
- List.fold_left
- (fun m ({ Build.Src.build_type; _ } as b) -> String_map.add_to_list build_type b m)
- m
- srcs
+ List.fold_left (fun m ({ Build.Src.build_type; _ } as b) -> add_to_list build_type b m) m srcs
in
let tests_by_type =
let m = String_map.of_list @@ List.map (fun bt -> (bt, [])) build_types in
- List.fold_left
- (fun m ({ Build.Test.build_type; _ } as t) -> String_map.add_to_list build_type t m)
- m
- tests
+ List.fold_left (fun m ({ Build.Test.build_type; _ } as t) -> add_to_list build_type t m) m tests
in
let internal_deps =
String_set.of_list
@@ 918,17 915,11 @@ let emit_build pds_conf =
let ({ Build.build_types; srcs; tests } as builds) = Build.load pds_conf in
let srcs_by_type =
let m = String_map.of_list @@ List.map (fun bt -> (bt, [])) build_types in
- List.fold_left
- (fun m ({ Build.Src.build_type; _ } as b) -> String_map.add_to_list build_type b m)
- m
- srcs
+ List.fold_left (fun m ({ Build.Src.build_type; _ } as b) -> add_to_list build_type b m) m srcs
in
let tests_by_type =
let m = String_map.of_list @@ List.map (fun bt -> (bt, [])) build_types in
- List.fold_left
- (fun m ({ Build.Test.build_type; _ } as t) -> String_map.add_to_list build_type t m)
- m
- tests
+ List.fold_left (fun m ({ Build.Test.build_type; _ } as t) -> add_to_list build_type t m) m tests
in
List.iter
(fun build_type ->