Я пытаюсь загрузить свой первый пакет в 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
Но я чувствую, что должно быть что-то получше.