Remove an extra conversion in rules_for_files

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
This commit is contained in:
Rudi Grinberg 2018-05-28 17:52:05 +07:00
parent 270e1ce846
commit 836b27ae2b
1 changed files with 6 additions and 9 deletions

View File

@ -1249,13 +1249,14 @@ let do_build t ~request =
module Ir_set = Set.Make(Internal_rule)
let rules_for_files t paths =
List.filter_map paths ~f:(fun path ->
Path.Set.fold paths ~init:[] ~f:(fun path acc ->
if Path.is_in_build_dir path then
load_dir t ~dir:(Path.parent_exn path);
match Hashtbl.find t.files path with
| None -> None
| Some (File_spec.T { rule; _ }) -> Some rule)
| None -> acc
| Some (File_spec.T { rule; _ }) -> rule :: acc)
|> Ir_set.of_list
|> Ir_set.to_list
@ -1264,11 +1265,7 @@ let rules_for_targets t targets =
Internal_rule.Id.Top_closure.top_closure (rules_for_files t targets)
~key:(fun (r : Internal_rule.t) -> r.id)
~deps:(fun (r : Internal_rule.t) ->
rules_for_files t
(Path.Set.to_list
(Path.Set.union
r.static_deps
r.rule_deps)))
rules_for_files t (Path.Set.union r.static_deps r.rule_deps))
with
| Ok l -> l
| Error cycle ->
@ -1285,7 +1282,7 @@ let static_deps_of_request t request =
} = Build_interpret.static_deps request ~all_targets:(targets_of t)
~file_tree:t.file_tree
in
Path.Set.to_list (Path.Set.union rule_deps action_deps)
Path.Set.union rule_deps action_deps
let all_lib_deps t ~request =
let targets = static_deps_of_request t request in