Существуют ли инструменты, которые подходят для ведения журнала изменений для пакета Cabal Haskell?
Я работаю быстро и яростно в новом пакете Haskell для компиляторов. Я ежедневно пропускаю множество младших номеров версий, а система упаковки Haskell, Cabal, похоже, не предлагает никаких инструментов для обновление номеров версий или ведение журнала изменений. (Журналы идут в git
, но это не видно никому, кто использует пакет.) Я бы убил для чего-то, что эквивалентно инструментам Debian uupdate
или dch
/debchange
.
Кто-нибудь знает инструменты общего назначения, которые можно использовать для автоматического увеличения номеров версий и добавления записи в журнал изменений?
Ответы
Ответ 1
Я использую очень простую схему для генерации моего CHANGELOG
. Я просто прошу darcs
за него и включить его в раздел extra-files
моего пакета .cabal
. Хотя, это кажется слишком упрощенным для того, что вы просите. =)
Тем не менее, вы можете пойти немного дальше и использовать пользовательский cabal Setup.(hs|lhs)
, который строит CHANGELOG
во время cabal sdist
из вашей информации о фиксации репозитория darcs
или git
(или из любой системы вы решили использовать его для отслеживания)
Setup.lhs
, используемый darcs
, делает что-то очень похожее на включение информации о номерах версий и количестве исправленных патчей со времени последнего версия. Посмотрите на механизмы sdistHook
и generateVersionModule
в Setup.lhs
, чтобы понять, как это можно сделать.
Ответ 2
Чтобы не ответить на ваш вопрос, я ничего не знаю. Это похоже на хорошее соответствие для публикации в Haskell Proposals, поскольку это кажется довольно полезной идеей.