Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Cabal是否可以在构建库时告诉公开所有模块?
Cabal
现在我必须在exposed-modulescabal 配置文件部分提供很长的模块列表。
exposed-modules
现代的答案是stack + hpack而不是使用显式的 cabal 配置。它可以自动公开包模块并提供许多其他增强功能。
您必须列出 cabal 配置文件中的所有模块。在您的情况下,您只需将模块列表放在exposed-modules:. 没有更简单的方法来编写模块列表。
exposed-modules:
Cabal 无法自动找到属于可执行文件或库的文件,因此它依赖于配置文件中的模块列表。与 GHC 不同,cabal 无法根据源代码中的 import 语句找到模块。如果您没有列出每个模块,那么您可能能够构建项目(因为 GHC 可以找到源文件),但其他命令(例如)cabal sdist不会访问未列出的源文件。
cabal sdist