do_query (MetadataTypes.obj_tbl ())
@ do_query MetadataTypes.library_obj_tbl
+let topological_sort ~dbd uris =
+ let module OrderedUri =
+ struct
+ type t = UriManager.uri
+ let compare = UriManager.compare
+ end in
+ let module Topo = HTopoSort.Make(OrderedUri) in
+ Topo.topological_sort uris
+ (fun uri -> fst (List.split (direct_deps ~dbd uri)))
+
module DepGraph =
struct
module UriTbl = UriManager.UriHashtbl
(*eprintf "Node '%s' not found.\n" (UriManager.string_of_uri uri);*)
assert false
in
- Pp.header ~graph_attrs:["rankdir", "LR"] ~node_attrs:global_node_attrs fmt;
+ Pp.header ~graph_type:"strict digraph" ~graph_attrs:["rankdir", "LR"] ~node_attrs:global_node_attrs fmt;
let rec aux =
function
| [] -> ()