Cargo Features

RosLibRust has no features set by default.

[dependencies]
roslibrust = { version = "0.12.2", features = ["all", "ros1", "rosbridge", "zenoh", "mock", "codegen", "macro", "running_bridge", "ros1_test", "ros2_test"] }
default

default feature is pure traits only with no implementations

all = codegen, macro, mock, ros1, rosbridge, zenoh

all enables all "useful" features to end users, other features are for testing purposes

ros1 all? ros1_test? = roslibrust_ros1

Provides a ros1 xmlrpc / TCPROS client

rosbridge all? = roslibrust_rosbridge

Provides a backend using the rosbridge websocket protocol

zenoh all? = roslibrust_zenoh

Provides a backend using zenoh's ros1 format from zenoh-bridge-ros1

mock all? = roslibrust_mock

Provides a mock backend useful for writing tests around nodes

codegen all? macro? = roslibrust_codegen

Provides a macro for generating types from ROS messages

macro all? = codegen, roslibrust_codegen_macro

Provides macros for generating types from ROS messages

running_bridge ros1_test? ros2_test?

Features below here are for testing purposes
Intended for use with tests, includes tests that rely on a locally running rosbridge

ros1_test = ros1, running_bridge

For use with integration tests, indicating we are testing integration with a ros1 bridge

ros2_test = running_bridge

For use with integration tests, indicates we are testing integration with a ros2 bridge

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

roslibrust_ros1 ros1?
roslibrust_rosbridge rosbridge?
roslibrust_zenoh zenoh?
roslibrust_mock mock?
roslibrust_codegen codegen?

Enables roslibrust_codegen

Used to generate messages for the examples

roslibrust_codegen_macro macro?