1

我已经编写了一个脚本来编译我的 haskell 程序(到目前为止只是包含在单个源文件中的简单脚本),在调用 ghc 之前,它包含以下几行:

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在我的任何项目中调用时,这些命令会在源代码上自动运行。

4

1 回答 1

2

Stack 提供了一个--exec标志,允许您执行此操作。查看“标志”文档以获取完整示例,但我们可以看到如下命令:

$ 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"
于 2016-10-03T11:11:20.103 回答