Haskell: Тестирование пакета на нескольких версиях base для Hackage

Я пытаюсь загрузить свой первый пакет в Hackage (ура!), И получаю следующую ошибку:

Зависимость' build-depends: base 'не указывает верхняя граница номера версии. Каждый основной выпуск «базового» пакета изменяет API различными способами, и для большинства пакетов потребуются некоторые изменения для компиляции с ним. Рекомендуемая практика - указать верхнюю границу для версии «базового» пакета. Это гарантирует, что ваш пакет будет продолжать сборку после выпуска новой основной версии «базового» пакета. Если вы не уверены, какую верхнюю границу использовать, используйте следующую основную версию.Например, если вы тестировали свой пакет с «базовой» версией 2 и 3, используйте build-depends: base> = 2 && <4 '.

Что кажется вполне приемлемой причиной отклонить мою посылку.

Есть ли хороший инструмент для тестирования моего пакета на различных версиях base , чтобы я мог видеть границы (а не просто гадать)? Лучшее, что я могу придумать, - это использовать сценарий оболочки, чтобы сделать что-то вроде:

% for v in $BASE_VERSIONS
do
  cabal install base-$v &&\
  cabal configure --enable-tests &&\
  cabal build &&\
  cabal test && echo "$v ok" || echo "$v fail"
done

Но я чувствую, что должно быть что-то получше.

8
задан Chris Martin 12 March 2017 в 04:28
поделиться