# package.xml ## Overview `package.xml` is the ROS 2 package manifest for `cartographer_ros_msgs`. It declares the package name, version, description, dependencies, and build type in the `format="3"` schema. ## Metadata - **Package name**: `cartographer_ros_msgs`. - **Version**: `2.0.9003`. - **Description**: "ROS messages for the cartographer_ros package." - **License**: Apache 2.0. - **Maintainer**: Chris Lalancette. - **Author**: The Cartographer Authors. - **URL**: `https://github.com/cartographer-project/cartographer_ros`. ## Versioning Note The manifest contains a comment explaining the versioning scheme. The upstream `cartographer_ros` project is effectively unmaintained for ROS 1, so the ROS 2 port is versioned independently. The version formula is: ```text version = (upstream_patch_version + 900) * 10 ``` For example, `2.0.9000` corresponds to upstream `2.0.0` plus local commits, and `2.0.9010` would correspond to upstream `2.0.1`. ## Dependencies ### Build Tool Dependencies - `ament_cmake` — the ament build system. - `rosidl_default_generators` — generates language bindings from the interface definitions. ### Runtime and Interface Dependencies - `builtin_interfaces` — provides `builtin_interfaces/Time`, used by `ReadMetrics.srv`. - `geometry_msgs` — provides `geometry_msgs/Pose` and `geometry_msgs/PoseStamped`. - `std_msgs` — provides `std_msgs/Header`. ### Execution Dependencies - `rosidl_default_runtime` — the runtime support for generated interfaces. ### Test Dependencies - `ament_lint_auto` - `ament_lint_common` ## Groups and Exports - The package declares membership in the `rosidl_interface_packages` group. - The build type is exported as `ament_cmake`.