From c0f233e9aab1d820f8aaa1b38c63183aa87560a5 Mon Sep 17 00:00:00 2001 From: Stuart Alldritt Date: Fri, 29 Nov 2024 15:16:47 -0800 Subject: [PATCH 1/6] Setup repos for Zenoh --- ...d.repos => ros2_java_android_fastdds.repos | 0 ros2_java_android_zenoh.repos | 175 ++++++++++++++++++ ...p.repos => ros2_java_desktop_fastdds.repos | 0 ros2_java_desktop_zenoh.repos | 144 ++++++++++++++ 4 files changed, 319 insertions(+) rename ros2_java_android.repos => ros2_java_android_fastdds.repos (100%) create mode 100644 ros2_java_android_zenoh.repos rename ros2_java_desktop.repos => ros2_java_desktop_fastdds.repos (100%) create mode 100644 ros2_java_desktop_zenoh.repos diff --git a/ros2_java_android.repos b/ros2_java_android_fastdds.repos similarity index 100% rename from ros2_java_android.repos rename to ros2_java_android_fastdds.repos diff --git a/ros2_java_android_zenoh.repos b/ros2_java_android_zenoh.repos new file mode 100644 index 00000000..2d7dcf30 --- /dev/null +++ b/ros2_java_android_zenoh.repos @@ -0,0 +1,175 @@ +repositories: + ament/ament_cmake: + type: git + url: https://github.com/ament/ament_cmake.git + version: jazzy + ament/ament_index: + type: git + url: https://github.com/ament/ament_index.git + version: jazzy + ament/ament_lint: + type: git + url: https://github.com/ament/ament_lint.git + version: jazzy + ament/ament_package: + type: git + url: https://github.com/ament/ament_package.git + version: jazzy + ament/google_benchmark_vendor: + type: git + url: https://github.com/ament/google_benchmark_vendor.git + version: main + ament/googletest: + type: git + url: https://github.com/ament/googletest.git + version: jazzy + ament/uncrustify_vendor: + type: git + url: https://github.com/ament/uncrustify_vendor.git + version: jazzy + + osrf/osrf_pycommon: + type: git + url: https://github.com/osrf/osrf_pycommon.git + version: master + osrf/osrf_testing_tools_cpp: + type: git + url: https://github.com/osrf/osrf_testing_tools_cpp.git + version: jazzy + + ros-tooling/libstatistics_collector: + type: git + url: https://github.com/ros-tooling/libstatistics_collector.git + version: jazzy + + ros-tracing/ros2_tracing: + type: git + url: https://github.com/ros2/ros2_tracing.git + version: jazzy + + ros2/ament_cmake_ros: + type: git + url: https://github.com/ros2/ament_cmake_ros.git + version: jazzy + ros2/common_interfaces: + type: git + url: https://github.com/ros2/common_interfaces.git + version: jazzy + ros2/example_interfaces: + type: git + url: https://github.com/ros2/example_interfaces.git + version: jazzy + ros2/geometry2: + type: git + url: https://github.com/ros2/geometry2.git + version: jazzy + ros2/launch: + type: git + url: https://github.com/ros2/launch.git + version: jazzy + ros2/libyaml_vendor: + type: git + url: https://github.com/ros2/libyaml_vendor.git + version: jazzy + ros2/performance_test_fixture: + type: git + url: https://github.com/ros2/performance_test_fixture.git + version: jazzy + ros2/pybind11_vendor: + type: git + url: https://github.com/ros2/pybind11_vendor.git + version: jazzy + ros2/python_cmake_module: + type: git + url: https://github.com/ros2/python_cmake_module.git + version: jazzy + ros2/rcl: + type: git + url: https://github.com/ros2/rcl.git + version: jazzy + ros2/rcl_interfaces: + type: git + url: https://github.com/ros2/rcl_interfaces.git + version: jazzy + ros2/rcl_logging: + type: git + url: https://github.com/ros2/rcl_logging.git + version: jazzy + ros2/rcpputils: + type: git + url: https://github.com/ros2/rcpputils.git + version: jazzy + ros2/rcutils: + type: git + url: https://github.com/skalldri/rcutils.git + version: jazzy + + ros2/rosidl: + type: git + url: https://github.com/ros2/rosidl.git + version: jazzy + ros2/rosidl_core: + type: git + url: https://github.com/ros2/rosidl_core.git + version: jazzy + ros2/rosidl_defaults: + type: git + url: https://github.com/ros2/rosidl_defaults.git + version: jazzy + ros2/rosidl_dynamic_typesupport: + type: git + url: https://github.com/ros2/rosidl_dynamic_typesupport + version: jazzy + ros2/rosidl_python: + type: git + url: https://github.com/ros2/rosidl_python.git + version: jazzy + ros2/rosidl_typesupport: + type: git + url: https://github.com/ros2/rosidl_typesupport.git + version: jazzy + ros2/rmw: + type: git + url: https://github.com/ros2/rmw.git + version: jazzy + ros2/rmw_implementation: + type: git + url: https://github.com/ros2/rmw_implementation.git + version: jazzy + ros2/rmw_zenoh: + type: git + url: https://github.com/ros2/rmw_zenoh.git + version: rolling + ros2/rpyutils: + type: git + url: https://github.com/ros2/rpyutils.git + version: jazzy + ros2/spdlog_vendor: + type: git + url: https://github.com/ros2/spdlog_vendor.git + version: jazzy + ros2/test_interface_files: + type: git + url: https://github.com/ros2/test_interface_files.git + version: jazzy + ros2/unique_identifier_msgs: + type: git + url: https://github.com/ros2/unique_identifier_msgs.git + version: jazzy + + ros2-java/ament_java: + type: git + url: https://github.com/skalldri/ament_java.git + version: jazzy + ros2-java/ros2_java: + type: git + url: https://github.com/skalldri/ros2_java.git + version: jazzy + ros2-java/ros2_android: + type: git + url: https://github.com/skalldri/ros2_android.git + version: jazzy + ros2-java/ament_gradle_plugin: + type: git + url: https://github.com/skalldri/ament_gradle_plugin.git + version: master diff --git a/ros2_java_desktop.repos b/ros2_java_desktop_fastdds.repos similarity index 100% rename from ros2_java_desktop.repos rename to ros2_java_desktop_fastdds.repos diff --git a/ros2_java_desktop_zenoh.repos b/ros2_java_desktop_zenoh.repos new file mode 100644 index 00000000..c927ff53 --- /dev/null +++ b/ros2_java_desktop_zenoh.repos @@ -0,0 +1,144 @@ +repositories: + ament/ament_cmake: + type: git + url: https://github.com/ament/ament_cmake.git + version: jazzy + ament/ament_index: + type: git + url: https://github.com/ament/ament_index.git + version: jazzy + ament/ament_lint: + type: git + url: https://github.com/ament/ament_lint.git + version: jazzy + ament/ament_package: + type: git + url: https://github.com/ament/ament_package.git + version: jazzy + ament/googletest: + type: git + url: https://github.com/ament/googletest.git + version: jazzy + + osrf/osrf_pycommon: + type: git + url: https://github.com/osrf/osrf_pycommon.git + version: master + osrf/osrf_testing_tools_cpp: + type: git + url: https://github.com/osrf/osrf_testing_tools_cpp.git + version: jazzy + + ros-tracing/ros2_tracing: + type: git + url: https://github.com/ros2/ros2_tracing.git + version: jazzy + + ros2/ament_cmake_ros: + type: git + url: https://github.com/ros2/ament_cmake_ros.git + version: jazzy + ros2/common_interfaces: + type: git + url: https://github.com/ros2/common_interfaces.git + version: jazzy + ros2/example_interfaces: + type: git + url: https://github.com/ros2/example_interfaces.git + version: jazzy + ros2/launch: + type: git + url: https://github.com/ros2/launch.git + version: jazzy + ros2/libyaml_vendor: + type: git + url: https://github.com/ros2/libyaml_vendor.git + version: jazzy + ros2/mimick_vendor: + type: git + url: https://github.com/ros2/mimick_vendor.git + version: jazzy + ros2/performance_test_fixture: + type: git + url: https://github.com/ros2/performance_test_fixture.git + version: jazzy + ros2/pybind11_vendor: + type: git + url: https://github.com/ros2/pybind11_vendor.git + version: jazzy + ros2/python_cmake_module: + type: git + url: https://github.com/ros2/python_cmake_module.git + version: jazzy + ros2/rcl: + type: git + url: https://github.com/ros2/rcl.git + version: jazzy + ros2/rcl_interfaces: + type: git + url: https://github.com/ros2/rcl_interfaces.git + version: jazzy + ros2/rcl_logging: + type: git + url: https://github.com/ros2/rcl_logging.git + version: jazzy + ros2/rcpputils: + type: git + url: https://github.com/ros2/rcpputils.git + version: jazzy + ros2/rcutils: + type: git + url: https://github.com/skalldri/rcutils.git + version: jazzy + ros2/rosidl: + type: git + url: https://github.com/ros2/rosidl.git + ros2/rosidl_core: + type: git + url: https://github.com/ros2/rosidl_core.git + version: jazzy + ros2/rosidl_defaults: + type: git + url: https://github.com/ros2/rosidl_defaults.git + version: jazzy + ros2/rosidl_dynamic_typesupport: + type: git + url: https://github.com/ros2/rosidl_dynamic_typesupport + version: jazzy + ros2/rosidl_typesupport: + type: git + url: https://github.com/ros2/rosidl_typesupport.git + version: jazzy + ros2/rmw: + type: git + url: https://github.com/ros2/rmw.git + version: jazzy + ros2/rmw_implementation: + type: git + url: https://github.com/ros2/rmw_implementation.git + version: jazzy + ros2/rmw_zenoh: + type: git + url: https://github.com/ros2/rmw_zenoh.git + version: rolling + ros2/spdlog_vendor: + type: git + url: https://github.com/ros2/spdlog_vendor.git + version: jazzy + ros2/test_interface_files: + type: git + url: https://github.com/ros2/test_interface_files.git + version: jazzy + ros2/unique_identifier_msgs: + type: git + url: https://github.com/ros2/unique_identifier_msgs.git + version: jazzy + + ros2-java/ament_java: + type: git + url: https://github.com/skalldri/ament_java.git + version: jazzy + ros2-java/ros2_java: + type: git + url: https://github.com/skalldri/ros2_java.git + version: jazzy From a78955f6adb1ff303084143fc265a9f2681cc039 Mon Sep 17 00:00:00 2001 From: Stuart Alldritt Date: Fri, 29 Nov 2024 15:19:41 -0800 Subject: [PATCH 2/6] Rename workflows --- .github/workflows/build_and_test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index b650135b..8d73106a 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -8,7 +8,7 @@ on: types: [opened, reopened, synchronize] jobs: - build_and_test_desktop: + build_and_test_fastdds_desktop: runs-on: ubuntu-24.04 steps: - name: Install Java @@ -27,7 +27,7 @@ jobs: run: | mkdir -p ros2_java_ws/src cd ros2_java_ws - curl -sL file://${{ github.workspace }}/ros2_java_desktop.repos | vcs import src + curl -sL file://${{ github.workspace }}/ros2_java_desktop_fastdds.repos | vcs import src # Use checked out version of ros2_java rm -rf src/ros2-java/ros2_java ln --symbolic ${{ github.workspace }} src/ros2-java @@ -41,7 +41,7 @@ jobs: source install/setup.bash colcon test --event-handlers=console_direct+ --packages-select rosidl_generator_java_tests rosidl_generator_java rcljava_common rcljava colcon test-result --verbose - build_android: + build_fastdds_android: runs-on: ubuntu-24.04 steps: - name: Install Java @@ -70,7 +70,7 @@ jobs: run: | mkdir -p ros2_java_ws/src cd ros2_java_ws - curl -sL file://${{ github.workspace }}/ros2_java_android.repos | vcs import src + curl -sL file://${{ github.workspace }}/ros2_java_android_fastdds.repos | vcs import src # Use checked out version of ros2_java rm -rf src/ros2-java/ros2_java ln --symbolic ${{ github.workspace }} src/ros2-java From 75ba4913d6fb45344717ea2b5d002f191a2b6cf3 Mon Sep 17 00:00:00 2001 From: Stuart Alldritt Date: Fri, 29 Nov 2024 15:32:42 -0800 Subject: [PATCH 3/6] Make Android superset of Desktop, switch to Zenoh branch --- ros2_java_android_zenoh.repos | 7 +++++-- ros2_java_desktop_zenoh.repos | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ros2_java_android_zenoh.repos b/ros2_java_android_zenoh.repos index 2d7dcf30..2063140d 100644 --- a/ros2_java_android_zenoh.repos +++ b/ros2_java_android_zenoh.repos @@ -71,6 +71,10 @@ repositories: type: git url: https://github.com/ros2/libyaml_vendor.git version: jazzy + ros2/mimick_vendor: + type: git + url: https://github.com/ros2/mimick_vendor.git + version: jazzy ros2/performance_test_fixture: type: git url: https://github.com/ros2/performance_test_fixture.git @@ -103,7 +107,6 @@ repositories: type: git url: https://github.com/skalldri/rcutils.git version: jazzy - ros2/rosidl: type: git url: https://github.com/ros2/rosidl.git @@ -164,7 +167,7 @@ repositories: ros2-java/ros2_java: type: git url: https://github.com/skalldri/ros2_java.git - version: jazzy + version: jazzy-zenoh ros2-java/ros2_android: type: git url: https://github.com/skalldri/ros2_android.git diff --git a/ros2_java_desktop_zenoh.repos b/ros2_java_desktop_zenoh.repos index c927ff53..f39b93cb 100644 --- a/ros2_java_desktop_zenoh.repos +++ b/ros2_java_desktop_zenoh.repos @@ -93,6 +93,7 @@ repositories: ros2/rosidl: type: git url: https://github.com/ros2/rosidl.git + version: jazzy ros2/rosidl_core: type: git url: https://github.com/ros2/rosidl_core.git @@ -141,4 +142,4 @@ repositories: ros2-java/ros2_java: type: git url: https://github.com/skalldri/ros2_java.git - version: jazzy + version: jazzy-zenoh From 5a5603ef8db3bb1f149dc66e1286638af6b0ff61 Mon Sep 17 00:00:00 2001 From: Stuart Alldritt Date: Fri, 29 Nov 2024 16:42:27 -0800 Subject: [PATCH 4/6] Tests working with RMW Zenoh --- .github/workflows/build_and_test.yml | 33 ++++++++ .../java/org/ros2/rcljava/node/NodeTest.java | 78 ++++++++++++------- .../ros2/rcljava/publisher/PublisherTest.java | 16 +++- .../subscription/SubscriptionTest.java | 16 +++- ros2_java_android_zenoh.repos | 9 +++ ros2_java_desktop_zenoh.repos | 9 +++ 6 files changed, 130 insertions(+), 31 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 8d73106a..a1ce21a9 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -41,6 +41,39 @@ jobs: source install/setup.bash colcon test --event-handlers=console_direct+ --packages-select rosidl_generator_java_tests rosidl_generator_java rcljava_common rcljava colcon test-result --verbose + build_and_test_zenoh_desktop: + runs-on: ubuntu-24.04 + steps: + - name: Install Java + run: | + sudo apt-get update -qq + sudo apt-get install -y openjdk-21-jre + - name: Install dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -y libasio-dev libbenchmark-dev + - uses: ros-tooling/setup-ros@0.7.9 + with: + required-ros-distributions: jazzy + - uses: actions/checkout@v4.2.1 + - name: Setup workspace with VCS repo file + run: | + mkdir -p ros2_java_ws/src + cd ros2_java_ws + curl -sL file://${{ github.workspace }}/ros2_java_desktop_zenoh.repos | vcs import src + # Use checked out version of ros2_java + rm -rf src/ros2-java/ros2_java + ln --symbolic ${{ github.workspace }} src/ros2-java + - name: Run Colcon Build + run: | + cd ros2_java_ws + colcon build --event-handlers=console_direct+ --symlink-install --packages-up-to rosidl_generator_java_tests rosidl_generator_java rcljava_common rcljava + - name: Run Colcon Test + run: | + cd ros2_java_ws + source install/setup.bash + colcon test --event-handlers=console_direct+ --packages-select rosidl_generator_java_tests rosidl_generator_java rcljava_common rcljava + colcon test-result --verbose build_fastdds_android: runs-on: ubuntu-24.04 steps: diff --git a/rcljava/src/test/java/org/ros2/rcljava/node/NodeTest.java b/rcljava/src/test/java/org/ros2/rcljava/node/NodeTest.java index 91a4f37f..c1590d61 100644 --- a/rcljava/src/test/java/org/ros2/rcljava/node/NodeTest.java +++ b/rcljava/src/test/java/org/ros2/rcljava/node/NodeTest.java @@ -1092,20 +1092,31 @@ public final void testGetPublishersInfo() { new Consumer>() { public void accept(final Collection info) { assertEquals(info.size(), 2); - Iterator it = info.iterator(); - EndpointInfo item = it.next(); - assertEquals("test_node", item.nodeName); - assertEquals("/", item.nodeNamespace); - assertEquals("rcljava/msg/UInt32", item.topicType); - assertEquals(item.endpointType, EndpointInfo.EndpointType.PUBLISHER); - assertEquals(item.qos.getReliability(), Reliability.RELIABLE); - item = it.next(); - assertEquals("test_node", item.nodeName); - assertEquals("/", item.nodeNamespace); - assertEquals("rcljava/msg/UInt32", item.topicType); - assertEquals(item.endpointType, EndpointInfo.EndpointType.PUBLISHER); - assertEquals(item.qos.getReliability(), Reliability.BEST_EFFORT); - assertFalse(it.hasNext()); + boolean hasSeenReliable = false; + boolean hasSeenBestEffort = false; + + for (EndpointInfo item : info) { + assertEquals("test_node", item.nodeName); + assertEquals("/", item.nodeNamespace); + assertEquals("rcljava/msg/UInt32", item.topicType); + assertEquals(EndpointInfo.EndpointType.PUBLISHER, item.endpointType); + + // The order of returned publishers it not stable across RMW implementations, so the test + // must support receiving them in either order + assertTrue(Reliability.RELIABLE == item.qos.getReliability() || Reliability.BEST_EFFORT == item.qos.getReliability()); + + // We can only see each Reliability type once + if (Reliability.RELIABLE == item.qos.getReliability()) { + assertFalse(hasSeenReliable); + hasSeenReliable = true; + } else if (Reliability.BEST_EFFORT == item.qos.getReliability()) { + assertFalse(hasSeenBestEffort); + hasSeenBestEffort = true; + } + } + + assertTrue(hasSeenReliable); + assertTrue(hasSeenBestEffort); } }; @@ -1149,20 +1160,31 @@ public void accept(final rcljava.msg.UInt32 msg) {} new Consumer>() { public void accept(final Collection info) { assertEquals(info.size(), 2); - Iterator it = info.iterator(); - EndpointInfo item = it.next(); - assertEquals("test_node", item.nodeName); - assertEquals("/", item.nodeNamespace); - assertEquals("rcljava/msg/UInt32", item.topicType); - assertEquals(item.endpointType, EndpointInfo.EndpointType.SUBSCRIPTION); - assertEquals(item.qos.getReliability(), Reliability.RELIABLE); - item = it.next(); - assertEquals("test_node", item.nodeName); - assertEquals("/", item.nodeNamespace); - assertEquals("rcljava/msg/UInt32", item.topicType); - assertEquals(item.endpointType, EndpointInfo.EndpointType.SUBSCRIPTION); - assertEquals(item.qos.getReliability(), Reliability.BEST_EFFORT); - assertFalse(it.hasNext()); + boolean hasSeenReliable = false; + boolean hasSeenBestEffort = false; + + for (EndpointInfo item : info) { + assertEquals("test_node", item.nodeName); + assertEquals("/", item.nodeNamespace); + assertEquals("rcljava/msg/UInt32", item.topicType); + assertEquals(EndpointInfo.EndpointType.SUBSCRIPTION, item.endpointType); + + // The order of returned publishers it not stable across RMW implementations, so the test + // must support receiving them in either order + assertTrue(Reliability.RELIABLE == item.qos.getReliability() || Reliability.BEST_EFFORT == item.qos.getReliability()); + + // We can only see each Reliability type once + if (Reliability.RELIABLE == item.qos.getReliability()) { + assertFalse(hasSeenReliable); + hasSeenReliable = true; + } else if (Reliability.BEST_EFFORT == item.qos.getReliability()) { + assertFalse(hasSeenBestEffort); + hasSeenBestEffort = true; + } + } + + assertTrue(hasSeenReliable); + assertTrue(hasSeenBestEffort); } }; diff --git a/rcljava/src/test/java/org/ros2/rcljava/publisher/PublisherTest.java b/rcljava/src/test/java/org/ros2/rcljava/publisher/PublisherTest.java index e5d899bc..6106ce67 100644 --- a/rcljava/src/test/java/org/ros2/rcljava/publisher/PublisherTest.java +++ b/rcljava/src/test/java/org/ros2/rcljava/publisher/PublisherTest.java @@ -93,6 +93,13 @@ public final void testCreateAndDispose() { @Test public final void testCreateLivelinessLostEvent() { RCLJava.rclJavaInit(); + + String identifier = RCLJava.getRMWIdentifier(); + if (identifier.equals("rmw_zenoh_cpp")) { + // LivelinessLost events are not supported in Zenoh yet. + return; + } + Node node = RCLJava.createNode("test_node"); Publisher publisher = node.createPublisher(std_msgs.msg.String.class, "test_topic"); @@ -114,7 +121,7 @@ public void accept(final LivelinessLost status) { @Test public final void testCreateOfferedQosIncompatibleEvent() { String identifier = RCLJava.getRMWIdentifier(); - if (identifier.equals("rmw_fastrtps_cpp") || identifier.equals("rmw_fastrtps_dynamic_cpp")) { + if (identifier.equals("rmw_fastrtps_cpp") || identifier.equals("rmw_fastrtps_dynamic_cpp") || identifier.equals("rmw_zenoh_cpp")) { // event not supported in these implementations return; } @@ -144,6 +151,13 @@ public void accept(final OfferedQosIncompatible status) { @Test public final void testCreateOfferedDeadlineMissedEvent() { RCLJava.rclJavaInit(); + + String identifier = RCLJava.getRMWIdentifier(); + if (identifier.equals("rmw_zenoh_cpp")) { + // OfferedDeadlineMissed events are not supported in Zenoh yet. + return; + } + Node node = RCLJava.createNode("test_node"); Publisher publisher = node.createPublisher(std_msgs.msg.String.class, "test_topic"); diff --git a/rcljava/src/test/java/org/ros2/rcljava/subscription/SubscriptionTest.java b/rcljava/src/test/java/org/ros2/rcljava/subscription/SubscriptionTest.java index 59976add..165c8d38 100644 --- a/rcljava/src/test/java/org/ros2/rcljava/subscription/SubscriptionTest.java +++ b/rcljava/src/test/java/org/ros2/rcljava/subscription/SubscriptionTest.java @@ -75,6 +75,12 @@ public void accept(final std_msgs.msg.String msg) {} @Test public final void testCreateLivelinessChangedEvent() { String identifier = RCLJava.getRMWIdentifier(); + + if (identifier.equals("rmw_zenoh_cpp")) { + // LivelinessChanged events are not supported in Zenoh yet. + return; + } + RCLJava.rclJavaInit(); Node node = RCLJava.createNode("test_node"); Subscription subscription = node.createSubscription( @@ -101,6 +107,12 @@ public void accept(final LivelinessChanged status) { @Test public final void testCreateRequestedDeadlineMissedEvent() { String identifier = RCLJava.getRMWIdentifier(); + + if (identifier.equals("rmw_zenoh_cpp")) { + // RequestedDeadlineMissed events are not supported in Zenoh yet. + return; + } + RCLJava.rclJavaInit(); Node node = RCLJava.createNode("test_node"); Subscription subscription = node.createSubscription( @@ -125,7 +137,7 @@ public void accept(final RequestedDeadlineMissed status) { @Test public final void testCreateRequestedQosIncompatibleEvent() { String identifier = RCLJava.getRMWIdentifier(); - if (identifier.equals("rmw_fastrtps_cpp") || identifier.equals("rmw_fastrtps_dynamic_cpp")) { + if (identifier.equals("rmw_fastrtps_cpp") || identifier.equals("rmw_fastrtps_dynamic_cpp") || identifier.equals("rmw_zenoh_cpp")) { // event not supported in these implementations return; } @@ -154,7 +166,7 @@ public void accept(final RequestedQosIncompatible status) { @Test public final void testCreateMessageLost() { String identifier = RCLJava.getRMWIdentifier(); - if (identifier.equals("rmw_fastrtps_cpp") || identifier.equals("rmw_fastrtps_dynamic_cpp")) { + if (identifier.equals("rmw_fastrtps_cpp") || identifier.equals("rmw_fastrtps_dynamic_cpp") || identifier.equals("rmw_zenoh_cpp")) { // event not supported in these implementations return; } diff --git a/ros2_java_android_zenoh.repos b/ros2_java_android_zenoh.repos index 2063140d..8e2be2e3 100644 --- a/ros2_java_android_zenoh.repos +++ b/ros2_java_android_zenoh.repos @@ -28,6 +28,11 @@ repositories: url: https://github.com/ament/uncrustify_vendor.git version: jazzy + eProsima/Fast-CDR: + type: git + url: https://github.com/eProsima/Fast-CDR.git + version: 2.2.x + osrf/osrf_pycommon: type: git url: https://github.com/osrf/osrf_pycommon.git @@ -131,6 +136,10 @@ repositories: type: git url: https://github.com/ros2/rosidl_typesupport.git version: jazzy + ros2/rosidl_typesupport_fastrtps: + type: git + url: https://github.com/ros2/rosidl_typesupport_fastrtps.git + version: jazzy ros2/rmw: type: git url: https://github.com/ros2/rmw.git diff --git a/ros2_java_desktop_zenoh.repos b/ros2_java_desktop_zenoh.repos index f39b93cb..327b54f8 100644 --- a/ros2_java_desktop_zenoh.repos +++ b/ros2_java_desktop_zenoh.repos @@ -20,6 +20,11 @@ repositories: url: https://github.com/ament/googletest.git version: jazzy + eProsima/Fast-CDR: + type: git + url: https://github.com/eProsima/Fast-CDR.git + version: 2.2.x + osrf/osrf_pycommon: type: git url: https://github.com/osrf/osrf_pycommon.git @@ -110,6 +115,10 @@ repositories: type: git url: https://github.com/ros2/rosidl_typesupport.git version: jazzy + ros2/rosidl_typesupport_fastrtps: + type: git + url: https://github.com/ros2/rosidl_typesupport_fastrtps.git + version: jazzy ros2/rmw: type: git url: https://github.com/ros2/rmw.git From 0b964c9600f2519dd77361f0f2ff11d4d5cf249d Mon Sep 17 00:00:00 2001 From: Stuart Alldritt Date: Fri, 29 Nov 2024 16:46:36 -0800 Subject: [PATCH 5/6] Use forked rmw_implementation until a fix lands in Jazzy --- ros2_java_android_fastdds.repos | 2 +- ros2_java_desktop_fastdds.repos | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ros2_java_android_fastdds.repos b/ros2_java_android_fastdds.repos index e44edd6a..94825b9f 100644 --- a/ros2_java_android_fastdds.repos +++ b/ros2_java_android_fastdds.repos @@ -167,7 +167,7 @@ repositories: version: jazzy ros2/rmw_implementation: type: git - url: https://github.com/ros2/rmw_implementation.git + url: https://github.com/skalldri/rmw_implementation.git version: jazzy ros2/rpyutils: type: git diff --git a/ros2_java_desktop_fastdds.repos b/ros2_java_desktop_fastdds.repos index 4393033f..7fb7d3a0 100644 --- a/ros2_java_desktop_fastdds.repos +++ b/ros2_java_desktop_fastdds.repos @@ -144,7 +144,7 @@ repositories: version: jazzy ros2/rmw_implementation: type: git - url: https://github.com/ros2/rmw_implementation.git + url: https://github.com/skalldri/rmw_implementation.git version: jazzy ros2/spdlog_vendor: type: git From 7e31f010ed3d69bca9bf434d6f054d3bc810b6b5 Mon Sep 17 00:00:00 2001 From: Stuart Alldritt Date: Fri, 29 Nov 2024 17:14:43 -0800 Subject: [PATCH 6/6] Use forked rmw_implementation in Zenoh Builds too --- ros2_java_android_zenoh.repos | 2 +- ros2_java_desktop_zenoh.repos | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ros2_java_android_zenoh.repos b/ros2_java_android_zenoh.repos index 8e2be2e3..2b65126e 100644 --- a/ros2_java_android_zenoh.repos +++ b/ros2_java_android_zenoh.repos @@ -146,7 +146,7 @@ repositories: version: jazzy ros2/rmw_implementation: type: git - url: https://github.com/ros2/rmw_implementation.git + url: https://github.com/skalldri/rmw_implementation.git version: jazzy ros2/rmw_zenoh: type: git diff --git a/ros2_java_desktop_zenoh.repos b/ros2_java_desktop_zenoh.repos index 327b54f8..21ccecdd 100644 --- a/ros2_java_desktop_zenoh.repos +++ b/ros2_java_desktop_zenoh.repos @@ -125,7 +125,7 @@ repositories: version: jazzy ros2/rmw_implementation: type: git - url: https://github.com/ros2/rmw_implementation.git + url: https://github.com/skalldri/rmw_implementation.git version: jazzy ros2/rmw_zenoh: type: git