Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/Distribution/Server/Packages/Render.hs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import Distribution.Types.VersionInterval.Legacy
-- I criticized this unfortunate development at length at:
-- https://github.com/haskell/cabal/issues/7916
import Distribution.ModuleName as ModuleName
import Distribution.Types.LibraryVisibility (LibraryVisibility(LibraryVisibilityPublic))

-- hackage-server
import Distribution.Server.Framework.CacheControl (ETag)
Expand Down Expand Up @@ -148,14 +149,17 @@ doPackageRender users info = PackageRender
else NotBuildable

renderModules :: Maybe TarIndex -> [(LibraryName, ModSigIndex)]
renderModules docindex = flip fmap (allLibraries flatDesc) $ \lib ->
renderModules docindex = flip fmap (filter isPublicLibrary $ allLibraries flatDesc) $ \lib ->
let mod_ix = mkForest $ exposedModules lib
-- Assumes that there is an HTML per reexport
++ map moduleReexportName (reexportedModules lib)
++ virtualModules (libBuildInfo lib)
sig_ix = mkForest $ signatures lib
mkForest = moduleForest . map (\m -> (m, moduleHasDocs docindex m))
in (libName lib, ModSigIndex { modIndex = mod_ix, sigIndex = sig_ix })
where
-- Only show main library or internal libraries with public visibility
isPublicLibrary lib = libVisibility lib == LibraryVisibilityPublic

moduleHasDocs :: Maybe TarIndex -> ModuleName -> Bool
moduleHasDocs Nothing = const False
Expand Down