索引你的包
您是否要将新的 ROS 包发布到 ROS 发行版中? 首先索引您的包可加快此过程。
将您的 ROS 包放入公共存储库
如果您尚未这样做,请将您的 ROS 包的源代码放入公共 git 存储库。 发布到 ROS 的所有包都必须是开源的。 您可以在任何地方托管代码,但建议使用 GitHub,因为它为您提供了启用拉取请求作业的选项。 以下是一些选择:
为您的软件包提供 OSI 批准的许可证
选择 OSI 批准的许可证 并将其提供给您的 ROS 软件包。
如果您难以决定,请考虑使用大多数核心 ROS 2 软件包使用的许可证:Apache-2.0 许可证。
对于存储库中的每个“package.xml”,将许可证的 SPDX 短标识符放在“package.xml”中的“<license>”标记中。
如果您的所有 ROS 包都具有相同的许可证,或者存储库中只有一个 ROS 包,请在存储库的根目录中创建一个名为“LICENSE”的文件,并将您选择的许可证文本放入其中。
如果存储库中的 ROS 包具有不同的许可证,请在每个“package.xml”文件旁边创建一个“LICENSE”文件。
为您的软件包提供符合 REP 144 的名称
发布到 ROS 发行版中的软件包必须具有符合“REP 144 <https://www.ros.org/reps/rep-0144.html>”的名称。
阅读完整的 REP 以了解规则。
如果您的某个 ROS 软件包名称不符合要求,请更改名称后再继续。
决定要发布到哪个 ROS 发行版
决定要将软件包发布到哪个 ROS 发行版。 至少,您应该将软件包发布到 ROS Rolling,以便您的 ROS 软件包自动包含在下一个 ROS 版本中。 您可能还想发布到任何活动的 ROS 发行版,但这取决于您。
创建 GitHub 帐户
如果您还没有 GitHub 帐户,请创建一个 GitHub 帐户 <https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github>`__。 您不必在 GitHub 上托管 ROS 软件包的源代码,但您需要一个帐户来索引和发布软件包。
分叉并克隆 ros/rosdistro
分叉 ros/rosdistro 存储库。
您只需在您的帐户上执行一次此步骤。
每次发布时都会使用该分叉。
对您的分叉进行更改
还记得您决定发布到的 ROS 发行版吗?
每个 ROS 发行版在 ros/rosdistro 存储库中都有一个文件夹。
例如,ROS Rolling 文件夹的名称为“rolling”。 对于您要发布到的每个 ROS 发行版:
填写以下模板
将填写好的模板放入相应 ROS 发行版文件夹中的“distribution.yaml”文件中
YOUR-REPO-NAME:
source:
type: git
url: https://YOUR-GIT-REPO-URL.git
version: YOUR-BRANCH-NAME
status: YOUR-STATUS
以下是如何填写每个项目:
YOUR-REPO-NAME:这是一个任意的人类可读名称。对于托管在 GitHub 上的存储库,请使用存储库的小写名称(不包括组织)。例如,“https://github.com/ros2/rosidl”的存储库名称为“rosidl”。
YOUR-GIT-REPO-URL:这是可以从中“git clone”存储库的 https URL。例如,“https://github.com/ros2/rosidl”的 git 存储库 URL 为“https://github.com/ros2/rosidl.git”。此 URL 以“.git”结尾很重要,否则将无法通过 linters。
YOUR-BRANCH-NAME:这是存储库上的 git 分支,您将从该分支将软件包发布到此 ROS 发行版中。这通常是以下之一:“main”、“master”或 ROS 发行版本身的名称。例如,rosidl 存储库 使用分支
rolling
来保存要发布到 ROS Rolling 中的更改。您的状态:这是 REP 141 中列表的状态。您可能希望是
maintained
或developed
。
打开对 ros/rosdistro 的拉取请求
打开对 `ros/rosdistro 的拉取请求 <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request>`__,并使用您所做的更改的分支。 等待几天进行审核。
接下来会发生什么
您现在已经完成了索引 ROS 软件包所需的一切。 其中一位审阅者将查看您的拉取请求并决定它是否`满足审阅指南 <https://github.com/ros/rosdistro/blob/master/REVIEW_GUIDELINES.md>`__。 审阅者可以按原样批准您的更改,也可以向您提供可操作的反馈。 一旦拉取请求符合审阅指南,它将被合并,并且您的软件包将出现在`ROS 索引 <https://index.ros.org/>`__上。
您已完成发布软件包的重要一步。 继续下一个指南:首次发布。