是否有适合维护 Cabal Haskell 包的变更日志的工具?

Posted

技术标签:

【中文标题】是否有适合维护 Cabal Haskell 包的变更日志的工具?【英文标题】:Are there tools that would be suitable for maintaining a changelog for a Cabal Haskell package? 【发布时间】:2011-02-05 12:31:53 【问题描述】:

我正在为编译器编写者快速而疯狂地开发一个新的 Haskell 包。我每天都会查看许多次要版本号,而 Haskell 打包系统 Cabal 似乎没有提供任何用于更新版本号或维护更改日志的工具。 (日志将进入 git,但使用该软件包的任何人都看不到。)我会为与 Debian 的 uupdatedch/debchange 工具等效的东西而杀。

有人知道可用于自动增加版本号并在更改日志中添加条目的通用工具吗?

【问题讨论】:

现在有 14 票和零个答案。我不确定你到底想要什么。将更改日志提取到文件中以包含在分发中听起来像一个 1 行脚本。多几行脚本应该能够从指定的标签中获取文件版本,并根据标签构建一个带有版本号的包。所以如果不是这样,你到底需要什么? @Paul:没有要提取的更改日志。 git 日志当然不适合分发,尽管它对于创建更改日志的开发人员来说是有用的信息。至于我在寻找什么,我想要一个像 uupdate 这样的工具来管理版本号和变更日志编辑等内容。我同意这可能是一个脚本,但可能是 100 行而不是 10 行。今年夏天我可能会解决一个。 【参考方案1】:

我使用一个非常简单的方案来生成我的CHANGELOG。我只是向darcs 询问它并将其包含在我的包的.cabal 文件的extra-files 部分中。但是,对于您的要求,这似乎太简单了。 =)

也就是说,您可以走得更远,并使用自定义的 cabal Setup.(hs|lhs)cabal sdist 期间根据您的 darcsgit 存储库的提交信息(或任何系统)构建 CHANGELOG你决定用它来跟踪它)

darcs 使用的Setup.lhs 的作用非常相似,包括版本号和自上一个版本以来应用的补丁数量的信息。查看Setup.lhs 中的sdistHookgenerateVersionModule 机制,了解如何做到这一点。

【讨论】:

我是一个频繁的、强迫性的提交者,我不希望我的用户因我的 RCS 日志而受苦......【参考方案2】:

不回答你的问题,我什么都不知道。这听起来很适合在Haskell Proposals subreddit 中发帖,因为这似乎是一个非常有用的想法。

【讨论】:

以上是关于是否有适合维护 Cabal Haskell 包的变更日志的工具?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .cabal 中指定对外部 C 库的依赖?

“网络”包的 MinGW 设置

如何在 cabal 中查找已安装的包的反向依赖项

`ghc-pkg` 和 `cabal` 程序有啥关系? (哈斯克尔)

cabal 安装 mime 失败

如何解决 cabal 中损坏的依赖关系?