2016-10-03 69 views
1

我做了一個腳本編譯包含我的Haskell程序(包含在一個單一的源文件,到目前爲止只是簡單的腳本),調用GHC,以下行之前:如何讓堆棧在構建haskell包時運行額外的命令?

echo "Running hlint" 
hlint ${1} 
echo "Running scan" 
~/.cabal/bin/scan -j False ${1} 
echo "Running doctest" 
~/.cabal/bin/doctest ${1} 

${1}指單個.hs源文件)。

如何在使用堆棧來管理和構建我的程序時完成一些等效檢查?

我想設置一些全局配置,在我的任何項目中調用stack build時,這些命令都會自動在源代碼上運行。

回答

2

Stack提供了一個--exec標誌,它允許您執行此操作。檢查'Flags' documentation一個完整的例子,但是我們可以看到如下命令:

$ stack build --test --exec "echo Hi!" 

哪裏--exec是「做其他的東西」和--test運行測試。

與您的例子,它可能看起來像:

stack build \ 
    --exec "hlint foo" \ 
    --exec "~/.cabal/bin/scan -j False bar" 
    --exec "~/.cabal/bin/doctest baz" 
相關問題