惊天动地多个可执行文件(Cabal Multiple Executables)

2019-07-30 17:30发布

我在网站上使用工作耶索德我有正常的建设运行,但我似乎无法可靠地填充我的数据库。 我有一个填充数据库的第二个哈斯克尔程序,我已经把它添加到像这样我的阴谋文件:

executable         program
  if flag(library-only)
    Buildable: False

  main-is:           ../main.hs
  hs-source-dirs:    dist
  build-depends:     base
                   , myproject
                   , yesod-default

executable         init
  if flag(library-only)
    Buildable: False

  main-is:           init.hs
  hs-source-dirs:    Init
  build-depends:     base
                   , directory
                   , persistent
                   , persistent-sqlite
                   , text
                   , myproject
                   , yesod-default

问题是,当我运行“阴谋构建”不重建INIT init.hs变化时。 我有什么做的,做到这一点?

下面是一个例子终端会话(编辑init.hs后):

$ cabal build
Building myproject-0.0.0...
Preprocessing library myproject-0.0.0...
Registering myproject-0.0.0...
$ rm -rf dist/build/myproject/init
$ cabal build
Building myproject-0.0.0...
Preprocessing library myproject-0.0.0...
Registering myproject-0.0.0...

谢谢。

Answer 1:

你可以将它们作为参数来管理多个可执行文件cabal buildcabal run 。 例如, cabal build init 。 第一个可执行文件是默认的,如果没有目标名称中给出。



文章来源: Cabal Multiple Executables
标签: haskell cabal