rosdep
What is rosdep?
rosdep
is ROS’s dependency management utility that can work with ROS packages and external libraries. rosdep
is a command-line utility for identifying and installing dependencies to build or install a package.
When we need rosdep
- Dependencies to build our Project.
- Dependencies to execute our Project.
package.xml
package.xml
is the file where is specified all the dependencies for our project. Should be an exhaustive list of any non-builtin libraries and packages it requires.
The dependencies need to be in package.xml like:
For dependencies only used in building the code, use
<build_depend>
.For dependencies needed by headers the code exports, use
<build_export_depend>
.For dependencies only used when running the code, use
<exec_depend>
.Recommended by default: For mixed purposes, use
<depend>
, which covers build, export, and execution time dependencies.
Example package.xml
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>eufs_launcher</name>
<version>2.0.0</version>
<description>Configures and launches eufs_sim.</description>
<maintainer email="cambobmat@icloud.com">Cameron Matthew</maintainer>
<maintainer email="siliconlad@protonmail.com">Angus Stewart</maintainer>
<license>MIT</license>
<url type="website">http://eufs.co</url>
<url type="repository">https://gitlab.com/eufs/eufs_sim</url>
<url type="bugtracker">https://gitlab.com/eufs/eufs_sim/issues</url>
<depend>rclpy</depend>
<depend>rqt_gui</depend>
<depend>launch</depend>
<depend>launch_ros</depend>
<depend>python3-yaml</depend>
<depend>python3-pandas</depend>
<export>
<build_type>ament_python</build_type>
<rqt_gui plugin="${prefix}/plugin.xml"/>
</export>
</package>