这是一个.cabal文件:
Name: myprogram
Version: 0.1
-- blah blah blah
Cabal-version: >=1.9.2
Executable myprogram
HS-source-dirs: src
Main-is: Main.hs
Build-depends: attoparsec == 0.10.*,
base == 4.3.*,
-- long long list of packages
Test-Suite test
HS-source-dirs: test, src
Type: exitcode-stdio-1.0
Main-is: Main.hs
Build-depends: attoparsec == 0.10.*,
base == 4.3.*,
-- long long list of packages
QuickCheck == 2.4.*
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以用"与可执行文件相同,加上QuickCheck"替换测试套件的长编译依赖包列表?
编辑:版本信息.
我在使用Yesod的网站上工作我正常运行,但我似乎无法可靠地填充我的数据库.我有第二个haskell程序填充数据库,我已经将它添加到我的cabal文件中,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行'cabal build'时,它不会在init.hs更改时重建init.我该怎么做才能实现这一目标?
这是一个示例终端会话(在编辑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...
Run Code Online (Sandbox Code Playgroud)
谢谢.