Cabal を使用してパッケージ化およびビルドされたライブラリがあり、一部のモジュールInternal
が cabal ファイルの .xml に含まれていないとしますExposed-modules
。プラグマを指定すると違いはありますか
{-# OPTIONS_HADDOCK hide #-}
の上部にありInternal.hs
ますか、それとも Haddock に従って既に自動的に非表示になっていますか?
違いがあるとすれば、どのような影響がありますか?
--internal
パッケージのハドックがフラグ toで作成されている場合、違いがありますcabal haddock
。
$ cabal help haddock
Usage: cabal haddock [FLAGS]
Flags for haddock:
-h --help Show this help text
-v --verbose[=n] Control verbosity (n is 0--3, default verbosity
level is 1)
<snip>
--executables Run haddock for Executables targets
--internal Run haddock for internal modules and include all
symbols
<snip>
--internal
フラグなしでハドックが作成された場合、hide
module 属性は効果がありません。とにかく、モジュールのドキュメントは作成されません。
が指定されている場合、属性を指定するモジュールを除き--internal
、公開されていないモジュールのドキュメントが作成されます。hide
hide
つまり、が設定されておらず、が指定されているか--internal
モジュールがエクスポートされている場合、ドキュメントが生成されます。
--internal
forの使用は、 で指定するか、 を手動で呼び出す場合、またはインターフェイスでcabal haddock
指定できます。cabal install --haddock-internal
cabal haddock
runhaskell ./Setup.hs ...
ほとんどの人cabal install
はデフォルトのオプションで実行するだけなので、違いに気付く人はほとんどいません。