如何在构建 haskell 包时获取 运行 额外命令的堆栈?
How to get stack to run extra commands when building a haskell package?
我已经制作了一个脚本来编译我的 haskell 程序(到目前为止只是包含在单个源文件中的简单脚本),在调用 ghc 之前包含以下行:
echo "Running hlint"
hlint
echo "Running scan"
~/.cabal/bin/scan -j False
echo "Running doctest"
~/.cabal/bin/doctest
(</code> 指的是单个 .hs 源文件。)</p>
<p>如何在使用堆栈管理和构建我的程序时完成一些等效检查?</p>
<p>我想设置一些全局配置,以便在我的任何项目中调用 <code>stack build
时在源代码上自动包含这些命令 运行。
Stack 提供了一个 --exec
标志,允许您执行此操作。查看 'Flags' documentation 以获得完整示例,但我们可以看到如下命令:
$ stack build --test --exec "echo Hi!"
其中 --exec
是 'do other stuff' 并且 --test
运行测试。
与您的示例相关,它可能看起来像:
stack build \
--exec "hlint foo" \
--exec "~/.cabal/bin/scan -j False bar"
--exec "~/.cabal/bin/doctest baz"
我已经制作了一个脚本来编译我的 haskell 程序(到目前为止只是包含在单个源文件中的简单脚本),在调用 ghc 之前包含以下行:
echo "Running hlint"
hlint
echo "Running scan"
~/.cabal/bin/scan -j False
echo "Running doctest"
~/.cabal/bin/doctest
(</code> 指的是单个 .hs 源文件。)</p>
<p>如何在使用堆栈管理和构建我的程序时完成一些等效检查?</p>
<p>我想设置一些全局配置,以便在我的任何项目中调用 <code>stack build
时在源代码上自动包含这些命令 运行。
Stack 提供了一个 --exec
标志,允许您执行此操作。查看 'Flags' documentation 以获得完整示例,但我们可以看到如下命令:
$ stack build --test --exec "echo Hi!"
其中 --exec
是 'do other stuff' 并且 --test
运行测试。
与您的示例相关,它可能看起来像:
stack build \
--exec "hlint foo" \
--exec "~/.cabal/bin/scan -j False bar"
--exec "~/.cabal/bin/doctest baz"