Skip to content

Commit 94b0c81

Browse files
authored
Merge pull request #215 from RosLibRust/re-org-move-ros1-to-own-crate
Major re-org to crate / repository structure
2 parents 9f4a8ea + 69b2f09 commit 94b0c81

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+2353
-2199
lines changed

.github/workflows/noetic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ jobs:
3939
- name: Start rosbridge
4040
run: source /opt/ros/noetic/setup.bash; roslaunch rosbridge_server rosbridge_websocket.launch & disown; rosrun rosapi rosapi_node & sleep 1
4141
- name: Integration Tests
42-
run: source /opt/ros/noetic/setup.bash; source /root/.cargo/env; RUST_LOG=debug cargo test --features ros1_test,ros1,running_bridge,rosapi -- --test-threads 1
42+
run: source /opt/ros/noetic/setup.bash; source /root/.cargo/env; RUST_LOG=debug cargo test --features ros1_test,ros1,running_bridge,rosapi,rosbridge,zenoh -- --test-threads 1

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2525

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

2932
### Fixed
3033

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

3740
### Changed
3841

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

Cargo.lock

Lines changed: 84 additions & 69 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,25 @@
11
[workspace]
2-
32
members = [
43
"example_package",
54
"example_package_macro",
6-
"roslibrust",
7-
"roslibrust_codegen",
85
"roslibrust_codegen_macro",
6+
"roslibrust_codegen",
7+
"roslibrust_common",
98
"roslibrust_genmsg",
10-
"roslibrust_test",
119
"roslibrust_mock",
10+
"roslibrust_ros1",
11+
"roslibrust_rosbridge",
12+
"roslibrust_test",
1213
"roslibrust_zenoh",
14+
"roslibrust",
15+
"roslibrust_rosapi",
1316
]
1417
resolver = "2"
18+
19+
[workspace.dependencies]
20+
log = "0.4"
21+
tokio = {version = "1", features = ["full"] }
22+
serde = { version = "1.0", features = ["derive"] }
23+
# Someday we may move this crate into this workspace
24+
# For now this is how we keep from repeating the verison everywhere
25+
roslibrust_serde_rosmsg = "0.4"

example_package/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ edition = "2021"
66
[dependencies]
77
# The code generated by roslibrust_codegen has dependendencies
88
# We need to depend on the crate at build time so that the generate code has access to these dependencies
9+
roslibrust_common = { path = "../roslibrust_common" }
10+
# THIS SHOULDN'T BE NEEDED, BUT IS FOR NOW GOTTA FIX LEAKING DEPENDENCIES
911
roslibrust_codegen = { path = "../roslibrust_codegen" }
1012

1113
[build-dependencies]

example_package_macro/Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ edition = "2021"
66
[dependencies]
77
# The code generated by roslibrust_codegen has dependendencies
88
# We need to depend on the crate at build time so that the generate code has access to these dependencies
9-
roslibrust_codegen = { path = "../roslibrust_codegen" }
9+
# TODO figure out how to rexport these types through the macro
10+
roslibrust_common = { path = "../roslibrust_common" }
1011
# This crate contains the actual macro we will invoke
1112
roslibrust_codegen_macro = { path = "../roslibrust_codegen_macro" }
13+
# THIS SHOULDN'T BE NEEDED, BUT IS FOR NOW GOTTA FIX LEAKING DEPENDENCIES
14+
roslibrust_codegen = { path = "../roslibrust_codegen" }

0 commit comments

Comments
 (0)