Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there tools that would be suitable for maintaining a changelog for a Cabal Haskell package?

Tags:

I'm working fast and furiously on a new Haskell package for compiler writers. I'm going through many minor version numbers daily, and the Haskell packaging system, Cabal, doesn't seem to offer any tools for updating version numbers or for maintaining a change log. (Logs are going into git but that's not visible to anyone using the package.) I would kill for something equivalent to Debian's uupdate or dch/debchange tools.

Does anyone know of general-purpose tools that could be used to increment version numbers automatically and add an entry to a change log?

like image 303
Norman Ramsey Avatar asked Apr 08 '10 01:04

Norman Ramsey


2 Answers

I use a very simple scheme to generate my CHANGELOG. I just ask darcs for it and include it in the extra-files section of my package's .cabal file. Though, this seems too simplistic for what you are asking. =)

That said, you can go quite a bit farther and use a custom cabal Setup.(hs|lhs) that builds the CHANGELOG during cabal sdist out of your darcs or git repository's commit info (or out of whatever system you decide to use to track it)

The Setup.lhs used by darcs does something very similar to include information on version numbers and number of applied patches since the last version. Look at the sdistHook and generateVersionModule machinery in Setup.lhs to get an idea of how this can be done.

like image 122
Edward Kmett Avatar answered Sep 18 '22 13:09

Edward Kmett


To non-answer your question, I'm not aware of anything. This sounds like a good match for posting in the Haskell Proposals subreddit, since it seems like a pretty useful idea.

like image 32
dwc Avatar answered Sep 21 '22 13:09

dwc