Как можно использовать несколько библиотек, использующих hpack? - PullRequest
0 голосов
/ 22 декабря 2018

Я хотел бы организовать свой проект в разные библиотеки, поскольку в конечном итоге я могу разделить некоторые из них на внешние репозитории.

В файле .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    
...