diff --git a/otherlibs/dune-site/src/plugins/plugins.ml b/otherlibs/dune-site/src/plugins/plugins.ml index b65e3de1b1d9..43580df6c5cf 100644 --- a/otherlibs/dune-site/src/plugins/plugins.ml +++ b/otherlibs/dune-site/src/plugins/plugins.ml @@ -1,10 +1,16 @@ open Dune_site.Private_ module Data = Dune_site_plugins_data +let meta_fn = "META" + let readdir dirs = + let ( / ) = Filename.concat in List.concat (List.map - (fun dir -> Array.to_list (Sys.readdir dir)) + (fun dir -> + List.filter + (fun entry -> Sys.file_exists (dir / entry / meta_fn)) + (Array.to_list (Sys.readdir dir))) (List.filter Sys.file_exists dirs)) ;; @@ -208,8 +214,6 @@ let load file ~pkg = { Meta_parser.name = Some pkg; entries } ;; -let meta_fn = "META" - let lookup_and_load_one_dir ~dir ~pkg = let meta_file = Filename.concat dir meta_fn in if Sys.file_exists meta_file