Автоматизация сборки Haskell

Каков предпочтительный способ автоматизации build/test/ci/doc-gen/... для проекта Haskell?

В настоящий момент я использую Cabal для "окончательной" сборки и bash -cripts для автоматизации тестирования /checkins/doc -gen/.. но я хотел бы заменить bash -cripts.

Я установил Nemesis (rake для Haskell по словам автора), но я еще не уверен, что это правильный инструмент.

Просто чтобы уточнить: я ищу что-то, что я могу добавить пользовательские команды с настраиваемыми аргументами (возможно ли это с помощью Cabal?), т.е.

блок тестирования foo

foo test db

foo test all

foo db migrate

...

Ответ 1

Cabal является предпочтительным способом создания/тестирования/генерации документов для проектов Haskell. ~ 1500 проектов построены таким образом на хакете:

Чтобы создать документы для вашего проекта:

  • Захват пистолета

Чтобы создать проект:

  • инсталляция cabal

Чтобы очистить проект:

  • Кабал чистый

Ответ 2

Я мог бы быть старомодным, но я просто установил свой репозиторий файлов .cabal и darcs и добавлю Makefile, который с зависимостями его действия по умолчанию пытается построить мой пакет, запускает любые тесты, проверяет текущие строить и запускать cabal haddock для создания моей документации.

Затем я просто вскрываю vim и продолжаю обращаться к make по мере необходимости.