准备上游存储库
这个页面将指导你通过设置你的存储库来创建一个Bloom的release版本。
注意: 由于ROS2使用了一个新的构建系统,所以这个过程不适合ROS2包。如果使用ROS2,你将不得不自己创建changelog并释放标记。请查看在ROS2 wiki上的Bloom Release页面得到更多信息。
更新Changelogs
它们不是强制的,而是推荐的:(ref: REP-132).
生成一个Changelog
$ catkin_generate_changelog
运行catkin_generate_changelog来生成或更新CHANGELOG.rst 文件。如果一个或多个包不包含CHANGELOG.rst, 添加--all选项来为每一个包填充所有的注释。
清理Changelog
命令catkin_generate_changelog只是简单的把git的提交记录填充至Changelog中,这些日志并不总是适合于变更日志。打开CHANGELOG.rst文件按照你自己的格式进行日志变更说明。这是一个CHANGELOG.rst的良好示例.
不要忘记进行下一步!
注意: 不正确的CHANGELOG.rst将会导致包的一些问题。
注意: 如果你有任何以下划线结尾的提交消息,例如成员变量(例如:name_)这将使RST Changelog格式出现错误,因为RST将其视为超链接。这有可能出现以下错误:
<string>:21: (ERROR/3) Unknown target name: "name".
想要修复这个,你需要避免变量,例如:
* fix for checking the ``name_``
提交
这个步骤非常重要,不要忘记! 检查新建或更新的changlog。
注意: catkin_generate_changelog的一些额外信息, 例如命令行标志,可以在原始的讨论话题中找到 ( 这个参考最终应该被一个更权威的文档所取代,而不是一个电子邮件讨论思路)
更新package.xml版本
你必须在你的包里package.xml里更新这个版本。在你的上游存储库中创建匹配该版本的tag。catkin提供了一种工具,称为catkin_prepare_release:
$ cd /path/to/your/upstream/repository $ catkin_prepare_release
这个命令将在你的上游存储库中找到所有的包,检查它们是否有changelogs(然后它们没有未提交的本地更改),在你包的package.xml中增加版本,并使用bloom兼容的标志commit/tag更改。使用此命令是确保你的包具有一致和建议的发布的最佳方法。
默认情况下,这个命令会增加包的补丁版本。例如:0.1.1 -> 0.1.2,但你可以使用--bump选项来选择小的或专业的版本。
即使你不使用catkin_prepare_release,你也必须有一个或多个有效的package.xml,在你的上游存储库中有相同的版本和一个匹配的tag。