我想将我的项目组织到不同的库中,因为最终我可能会将一些拆分到外部存储库中。
在一个.cabal
文件中,我可以有多个库(我相信一个未命名,多个命名):
library
import: servant-deps
exposed-modules:
App
other-modules:
Paths_cow_streamer
hs-source-dirs:
src
build-depends:
servant-server >= 0.15
library sxapi
import: servant-deps
exposed-modules:
SxClient
other-modules:
Paths_cow_streamer
hs-source-dirs:
sxapi
build-depends:
http-client
最初我在我的 hpack 中这样尝试package.yaml
:
library:
bar:
source-dirs:
- src
dependencies:
- servant-server >= 0.14
- wai
- warp
foo:
source-dirs:
- sxapi
dependencies:
- servant-server >= 0.14
- wai
- warp
但在这种情况下,似乎没有一个条目被正确解释,因为例如 source-dirs 不存在于生成的 cabal 文件中。
我也试过这个,但不出所料,其中一个库定义被覆盖了:
library:
source-dirs:
- src
dependencies:
- servant-server >= 0.14
- wai
- warp
library:
source-dirs:
- sxapi
dependencies:
- servant-server >= 0.14
- wai
- warp