Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major re-org to crate / repository structure #215

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- roslibrust_mock now provides a basic mock implementation of roslibrust's generic traits for use in building automated testing of nodes.
- roslibrust_zenoh now proivides a Zenoh client that is compatible with the zenoh-ros1-plugin / zenoh-ros1-bridge
- roslibrust_ros1 now provides a ROS1 native client as a standalone crate
- roslibrust_rosbridge now provides a rosbridge client as a standalone crate
- roslibrust_rosapi now provides a generic interface for the rosapi node compatible with both rosbridge and ros1 backends

### Fixed

Expand All @@ -36,6 +39,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

- A major reorganization of the internals of roslibrust was done to improve our ability to support multiple backends.
As part of the organization the rosbridge backend has been moved under the the `rosbridge` module, so
`roslibrust::ClientHandle` now becomes `roslibrust::rosbridge::ClientHandle`.
- Internal integral type Time changed from u32 to i32 representation to better align with ROS1
- Conversions between ROS Time and Duration to std::time::Time and std::time::Duration switched to TryFrom as they can be fallible.

Expand Down
153 changes: 83 additions & 70 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@
members = [
"example_package",
"example_package_macro",
"roslibrust",
"roslibrust_codegen",
"roslibrust_codegen_macro",
"roslibrust_codegen",
"roslibrust_common",
"roslibrust_genmsg",
"roslibrust_test",
"roslibrust_mock",
"roslibrust_ros1",
"roslibrust_rosbridge",
"roslibrust_test",
"roslibrust_zenoh",
"roslibrust",
"roslibrust_rosapi",
]
resolver = "2"
2 changes: 2 additions & 0 deletions example_package/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ edition = "2021"
[dependencies]
# The code generated by roslibrust_codegen has dependendencies
# We need to depend on the crate at build time so that the generate code has access to these dependencies
roslibrust_common = { path = "../roslibrust_common" }
# THIS SHOULDN'T BE NEEDED, BUT IS FOR NOW GOTTA FIX LEAKING DEPENDENCIES
Carter12s marked this conversation as resolved.
Show resolved Hide resolved
roslibrust_codegen = { path = "../roslibrust_codegen" }

[build-dependencies]
Expand Down
5 changes: 4 additions & 1 deletion example_package_macro/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ edition = "2021"
[dependencies]
# The code generated by roslibrust_codegen has dependendencies
# We need to depend on the crate at build time so that the generate code has access to these dependencies
roslibrust_codegen = { path = "../roslibrust_codegen" }
# TODO figure out how to rexport these types through the macro
roslibrust_common = { path = "../roslibrust_common" }
# This crate contains the actual macro we will invoke
roslibrust_codegen_macro = { path = "../roslibrust_codegen_macro" }
# THIS SHOULDN'T BE NEEDED, BUT IS FOR NOW GOTTA FIX LEAKING DEPENDENCIES
roslibrust_codegen = { path = "../roslibrust_codegen" }
Loading
Loading