Cabal重新编译项目中每个子模块的所有模块

时间:2020-06-19 22:44:46

标签: haskell cabal haskell-stack

我正在尝试将我的阴谋项目之一拆分为多个子库,以使用户不会带来不必要的依赖(或可能不在其平台中构建的依赖!),因为我打算重复使用我的代码库是ghcJs和Eta)。

我的集团文件中具有以下设置:

-- core application logic, should be able to be built cross-platform
library bli-base
   hs-source-dirs:
     src
   ...


-- library specifically for desktop use, not cross-platform
library bli-cli
   hs-source-dirs:
     src
   build-depends:
       base <5,
     , bli-base
     ...

但是问题是,当阴谋集团要建造bli-cli时,我会收到警告

<no location info>: warning: [-Wmissing-home-modules]
    These modules are needed for compilation but not listed in your .cabal file's other-modules:

然后它列出了bli-base中的一堆模块-然后尝试编译,然后失败,因为bli-cli的依赖项不是{的依赖项的超集{1}}。

有什么办法可以避免这个问题?我想一种解决方案是仅将bli-base的所有依赖项复制到bli-cli,但这似乎不是很干。

(我正在使用堆栈来构建lts-12-26)

0 个答案:

没有答案
相关问题