Создание конкретной библиотеки с помощью стека? - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть проект стека на Haskell, кабальный файл которого разделен следующим образом:

library
  exposed-modules:
      Godot.Api
      Godot.Api.Auto
-- ...


library generate 
  exposed-modules:
      Generate
      Spec
      Types
      Types.Internal
-- ...

Когда я запускаю stack build, кажется, что он собирает только первый library, но мне нужен стек * build просто library generate. Как мне это сделать? Следующее не работает:

stack build project-name:library:generate # doesn't seem to work
stack build project-name:lib:generate # doesn't seem to work

1 Ответ

1 голос
/ 08 апреля 2019

К сожалению, вы не можете записать несколько library s в один файл кабала . Таким образом, вы должны сделать один файл cabal на библиотеку (обычно один каталог на один файл cabal).

Затем перечислите их в стеке. Yaml:

packages:
- your-main-library
- generate

Затем выполните stack <the-library-to-build>, чтобы создать определенную библиотеку:

stack build generate

FYI. Вот проект, который содержит несколько библиотек: https://github.com/iij-ii/direct-hs

...