Как получить стек для запуска дополнительных команд при сборке пакета haskell?
Я создал скрипт для компиляции моих программ на 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
в любом из моих проектов.
1 ответ
Стек обеспечивает --exec
флаг, который позволяет вам сделать это. Посмотрите документацию 'Flags' для полного примера, но мы можем увидеть такую команду:
$ 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"