如何使用hpack拥有多个库?

时间:2018-12-21 21:06:59

标签: haskell cabal

我想将项目组织到不同的库中,因为最终我可能会将其中的一部分拆分到外部存储库中。

在一个.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。

我也尝试过这种方法,但不足为奇的是,其中一个库定义被覆盖:

library:
  source-dirs:
    - src
  dependencies:
    - servant-server >= 0.14
    - wai
    - warp

library:      
  source-dirs:
    - sxapi
  dependencies:
    - servant-server >= 0.14
    - wai
    - warp    

0 个答案:

没有答案