Я хотел бы организовать свой проект в разные библиотеки, поскольку в конечном итоге я могу разделить некоторые из них на внешние репозитории.
В файле .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
Первоначально я попытался сделать это в моем хаке 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