My aggregated monorepo of OCaml code, automaintained
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Revert strict dep check in find_dep_compile_layers

The strict Error-on-missing-deps approach broke all doc builds
because many deps genuinely have no documentable libs and no doc
node. OCurrent's DAG ordering already ensures deps complete before
dependents, so disk checks for dep compile layers are sufficient.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+6 -4
+6 -4
day11/doc/generate.ml
··· 36 36 module Layer = Day11_layer.Layer 37 37 38 38 (** Find dep compile layer dirs by looking up each transitive build 39 - dep's compile/doc-all hash from the precomputed mapping, then 40 - checking if the layer exists on disk. *) 39 + dep's compile/doc-all hash from the precomputed mapping. 40 + Includes only deps whose compile layers exist and succeeded on disk. 41 + Deps with no doc node (no documentable libs) are silently skipped. *) 41 42 let find_dep_compile_layers ~os_dir ~build_to_doc_hash (node : build) = 42 43 let seen = Hashtbl.create 16 in 43 44 List.iter (collect_transitive_deps seen) node.deps; ··· 47 48 let layer = Layer.of_hash ~os_dir doc_hash in 48 49 if Layer.is_ok layer then Layer.dir layer :: acc 49 50 else acc 50 - | _ -> acc 51 + | None -> acc 51 52 ) seen [] 52 53 53 54 let compile_package env benv ~os_dir ~odoc_tool ~build_hash_blessed ··· 91 92 match Hashtbl.find_opt build_to_doc_hash bh with 92 93 | Some doc_hash -> 93 94 let l = Layer.of_hash ~os_dir doc_hash in 94 - if Layer.is_ok l then Some (Layer.dir l) else None 95 + if Layer.is_ok l then Some (Layer.dir l) 96 + else None 95 97 | _ -> None 96 98 ) doc_dep_bhs in 97 99 let html_dir = Fpath.(os_dir / "html") in