Skip to content

Commit ada8969

Browse files
committed
stop dune from generating docs for hidden modules
Signed-off-by: lubegasimon <[email protected]>
1 parent 16f7a1d commit ada8969

File tree

1 file changed

+29
-31
lines changed

1 file changed

+29
-31
lines changed

src/dune_rules/odoc.ml

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,28 @@ let load_all_odoc_rules_pkg sctx ~pkg =
427427
in
428428
pkg_libs
429429

430+
let entry_modules_by_lib sctx lib =
431+
let info = Lib.Local.info lib in
432+
let dir = Lib_info.src_dir info in
433+
let name = Lib.name (Lib.Local.to_lib lib) in
434+
Dir_contents.get sctx ~dir >>= Dir_contents.ocaml
435+
>>| Ml_sources.modules ~for_:(Library name)
436+
>>| Modules.entry_modules
437+
438+
let entry_modules sctx ~pkg =
439+
let l =
440+
libs_of_pkg sctx ~pkg
441+
|> List.filter ~f:(fun lib ->
442+
Lib.Local.info lib |> Lib_info.status |> Lib_info.Status.is_private
443+
|> not)
444+
in
445+
let+ l =
446+
Memo.Build.parallel_map l ~f:(fun l ->
447+
let+ m = entry_modules_by_lib sctx l in
448+
(l, m))
449+
in
450+
Lib.Local.Map.of_list_exn l
451+
430452
let create_odoc ctx ~target odoc_file =
431453
let html_base = Paths.html ctx target in
432454
let odocl_base = Paths.odocl ctx target in
@@ -491,16 +513,14 @@ let odoc_artefacts sctx target =
491513
|> create_odoc ctx ~target)
492514
| Lib lib ->
493515
let info = Lib.Local.info lib in
494-
let dir = Lib_info.src_dir info in
495-
let+ modules =
496-
let name = Lib_info.name info in
497-
Dir_contents.get sctx ~dir >>= Dir_contents.ocaml
498-
>>| Ml_sources.modules ~for_:(Library name)
499-
in
500516
let obj_dir = Lib_info.obj_dir info in
501-
Modules.fold_no_vlib modules ~init:[] ~f:(fun m acc ->
502-
let odoc = Obj_dir.Module.odoc obj_dir m in
503-
create_odoc ctx ~target odoc :: acc)
517+
let* modules = entry_modules_by_lib sctx lib in
518+
List.map
519+
~f:(fun m ->
520+
let odoc_file = Obj_dir.Module.odoc obj_dir m in
521+
create_odoc ctx ~target odoc_file)
522+
modules
523+
|> Memo.Build.return
504524

505525
let setup_lib_odocl_rules_def =
506526
let module Input = struct
@@ -674,28 +694,6 @@ let setup_package_aliases sctx (pkg : Package.t) =
674694
|> Action_builder.deps
675695
|> Rules.Produce.Alias.add_deps alias
676696

677-
let entry_modules_by_lib sctx lib =
678-
let info = Lib.Local.info lib in
679-
let dir = Lib_info.src_dir info in
680-
let name = Lib.name (Lib.Local.to_lib lib) in
681-
Dir_contents.get sctx ~dir >>= Dir_contents.ocaml
682-
>>| Ml_sources.modules ~for_:(Library name)
683-
>>| Modules.entry_modules
684-
685-
let entry_modules sctx ~pkg =
686-
let l =
687-
libs_of_pkg sctx ~pkg
688-
|> List.filter ~f:(fun lib ->
689-
Lib.Local.info lib |> Lib_info.status |> Lib_info.Status.is_private
690-
|> not)
691-
in
692-
let+ l =
693-
Memo.Build.parallel_map l ~f:(fun l ->
694-
let+ m = entry_modules_by_lib sctx l in
695-
(l, m))
696-
in
697-
Lib.Local.Map.of_list_exn l
698-
699697
let default_index ~pkg entry_modules =
700698
let b = Buffer.create 512 in
701699
Printf.bprintf b "{0 %s index}\n" (Package.Name.to_string pkg);

0 commit comments

Comments
 (0)