用堆栈构建特定的库?

问题描述 投票:0回答:1

我有一个Haskell堆栈项目,其cabal文件分为如下:

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


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

当我运行stack build它似乎只构建第一个library,但我想要堆栈做的只是构建library generate。我该怎么做呢?以下似乎不起作用:

stack build project-name:library:generate # doesn't seem to work
stack build project-name:lib:generate # doesn't seem to work
haskell haskell-stack
1个回答
1
投票

不幸的是,you can't write multiple librarys in one cabal file。因此,您必须为每个库创建一个cabal文件(通常为每个cabal文件创建一个目录)。

然后,将它们列在stack.yaml中:

packages:
- your-main-library
- generate

然后,运行stack <the-library-to-build>来构建一个特定的库:

stack build generate

仅供参考。这是一个包含几个库的项目:https://github.com/iij-ii/direct-hs

© www.soinside.com 2019 - 2024. All rights reserved.