This repo provides functionality to build and use ROS 2 with Bazel.
You will need to install Bazel, see here. Besides Bazel, you will need a C++ compiler and a Python 3 interpreter.
And no, you don't have to install any ROS 2 packages via apt
.
The code is developed and tested on Ubuntu 22.04 with Python 3.10.
Available features:
ros2_launch
Bazel macro.ros2_test
Bazel macro.ros2_plugin
Bazel macro.foxglove_bridge
for visualization and debuggingros2_bag
for handling rosbagsros2_lifecycle
for handling node lifecycleros2_node
for handling nodesros2_param
for handling parametersros2_service
for handling servicesros2_topic
for handling topicsxacro
for Xacro to URDF conversionPlease take a look at the examples folder to get started.
ROS 2 packages are by default locked to versions from release-humble-20240523.
For alternative approaches, see:
ApexAI/rules_ros
RobotLocomotion/drake-ros/bazel_ros2_rules
,
which includes a brief analysis of this and other approaches.