Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
ae53ab7
Add MessageLost subscription event status (osrf/ros2_java#29)
ivanpauno Sep 2, 2020
c63d806
Add convenient error handling macros (osrf/ros2_java#30)
ivanpauno Sep 3, 2020
56b6135
Update qos profile -- take 2 (osrf/ros2_java#25)
ivanpauno Sep 9, 2020
2a03d23
Add get topic names and type method to Node class (osrf/ros2_java#32)
ivanpauno Sep 10, 2020
dfea329
Add getPublishersInfo method to Node (osrf/ros2_java#26)
ivanpauno Sep 11, 2020
83c0681
Add get node names method to Node class (osrf/ros2_java#31)
ivanpauno Sep 16, 2020
9a5ca1b
Use rcpputils::scope_exit in native getTopicNamesAndTypes Node method…
ivanpauno Sep 16, 2020
8c2054d
Add getSubscriptionsInfo to Node class (osrf/ros2_java#27)
ivanpauno Sep 17, 2020
158f7c7
Implement nativeGetServiceNamesAndTypes method (osrf/ros2_java#33)
ivanpauno Sep 17, 2020
a938544
Log error if calls to dispose fail (osrf/ros2_java#40)
jacobperron Sep 18, 2020
60ac293
Add get publishers by node (osrf/ros2_java#34)
ivanpauno Sep 18, 2020
54ebfb3
Revamp Time (osrf/ros2_java#6)
clalancette Aug 24, 2020
6952494
Document TimeSource class (osrf/ros2_java#21)
jacobperron Aug 25, 2020
e8837c8
Add tests for TimeSource (osrf/ros2_java#22)
jacobperron Sep 17, 2020
6cfc727
Support wall-time and ROS-time timers (osrf/ros2_java#39)
jacobperron Sep 18, 2020
aa9f8d7
Add getClock method to Node interface (osrf/ros2_java#43)
jacobperron Sep 22, 2020
9487121
Add get subscription names and types by node method to Node class (os…
ivanpauno Sep 22, 2020
43e9d32
Add getServiceNamesAndTypes method to Node class (osrf/ros2_java#36)
ivanpauno Sep 22, 2020
9787870
Add getClientNamesAndTypes by Node (osrf/ros2_java#37)
ivanpauno Sep 23, 2020
6a94c9d
Add toMsg method to Time class (osrf/ros2_java#44)
jacobperron Sep 23, 2020
d6523f3
Pass command line arguments in context init method (osrf/ros2_java#45)
ivanpauno Sep 29, 2020
a65edc5
Initialize parameter services based on node options (osrf/ros2_java#46)
ivanpauno Sep 30, 2020
e4ebbdb
Fix issues with parameters descriptors (osrf/ros2_java#50)
jacobperron Nov 10, 2020
0b20500
Allow undeclared parameters in parameters client tests
jacobperron Nov 10, 2020
a4d41d9
Fix spinSome logic (osrf/ros2_java#49)
jacobperron Nov 10, 2020
622982e
Enable and fix AsyncParametersClientTest (osrf/ros2_java#51)
jacobperron Nov 11, 2020
884963b
Use array instead of List for ROS message types (osrf/ros2_java#55)
jacobperron Jan 7, 2021
15a1567
Add action interfaces for goal request and goal response (osrf/ros2_j…
jacobperron Jan 20, 2021
d2ea45d
Add action server with logic for accepting and canceling goals (osrf/…
jacobperron Jan 21, 2021
5374f31
Build sources jar for rcljava (osrf/ros2_java#56)
gonzodepedro Mar 30, 2021
1b00e9e
Add source jars generation for rosidl_generator_java (osrf/ros2_java#57)
gonzodepedro Apr 7, 2021
6819ecc
Add transition from accepted to executing in the action server (osrf/…
ivanpauno Apr 13, 2021
95b25c3
Do not use multiple message types in the same topic (osrf/ros2_java#61)
ivanpauno Apr 14, 2021
e6ca69b
Use action FeedbackMessage and not Feedback message type to subscribe…
ivanpauno Apr 14, 2021
8747a58
Added namespace constructor to BaseComposableNode (osrf/ros2_java#62)
jgyorfi Apr 14, 2021
b191b8b
Added sources for rcljava_common (osrf/ros2_java#64)
gonzodepedro May 4, 2021
9577ed8
Complete action server implementation (osrf/ros2_java#65)
ivanpauno May 7, 2021
2775f66
Ignore unused vm argument in JNI_OnUnload (osrf/ros2_java#67)
ivanpauno May 13, 2021
822f613
Log debug message when jni library is loaded, not info message (osrf/…
ivanpauno May 13, 2021
3c0e575
Fix MessageLost native methods names causing loading issues (osrf/ros…
ivanpauno May 13, 2021
51d6fb8
Fix cpp compiler warnings (osrf/ros2_java#71)
ivanpauno May 14, 2021
8753c5b
Fix some java compiler warnings (osrf/ros2_java#72)
ivanpauno May 17, 2021
141e5d4
Fix linter issues in rosidl_generator_java and in its generated code …
ivanpauno May 18, 2021
8b88b39
Cleanup service/client creation code (osrf/ros2_java#74)
ivanpauno May 21, 2021
616c22e
Add methods to create a parameter client in Node (osrf/ros2_java#75)
ivanpauno Jun 1, 2021
3b01f34
Fix rosidl_generator_java_warnings (osrf/ros2_java#77)
ivanpauno Jul 9, 2021
775d1bb
Avoid blocking forever in RCLFuture.get() with timeout (osrf/ros2_jav…
jacobperron Jul 12, 2021
c383fdf
Refactor future implementation (osrf/ros2_java#80)
ivanpauno Jul 29, 2021
509a7cd
Add remove pending request method (osrf/ros2_java#81)
ivanpauno Oct 12, 2021
58aa351
Add method to prune pending requests in client (osrf/ros2_java#82)
ivanpauno Nov 2, 2021
e7bdfa4
Fix some java compiler warnings (osrf/ros2_java#79)
ivanpauno Nov 15, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 103 additions & 10 deletions rcljava/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@ cmake_minimum_required(VERSION 3.5)

project(rcljava)

find_package(action_msgs REQUIRED)
find_package(ament_cmake REQUIRED)
find_package(ament_cmake_export_jars REQUIRED)
find_package(ament_cmake_export_jni_libraries REQUIRED)
find_package(builtin_interfaces REQUIRED)
find_package(rcl REQUIRED)
find_package(rcl_action REQUIRED)
find_package(rcl_interfaces REQUIRED)
find_package(rcljava_common REQUIRED)
find_package(rmw REQUIRED)
find_package(rmw_implementation_cmake REQUIRED)
find_package(rosgraph_msgs REQUIRED)
find_package(unique_identifier_msgs REQUIRED)

include(CrossCompilingExtra)

Expand Down Expand Up @@ -56,23 +60,28 @@ endif()
set(${PROJECT_NAME}_jni_sources
"src/main/cpp/org_ros2_rcljava_RCLJava.cpp"
"src/main/cpp/org_ros2_rcljava_Time.cpp"
"src/main/cpp/org_ros2_rcljava_action_ActionServerImpl.cpp"
"src/main/cpp/org_ros2_rcljava_action_ActionServerImpl_GoalHandleImpl.cpp"
"src/main/cpp/org_ros2_rcljava_client_ClientImpl.cpp"
"src/main/cpp/org_ros2_rcljava_contexts_ContextImpl.cpp"
"src/main/cpp/org_ros2_rcljava_detail_QosIncompatibleStatus.cpp"
"src/main/cpp/org_ros2_rcljava_executors_BaseExecutor.cpp"
"src/main/cpp/org_ros2_rcljava_events_EventHandlerImpl.cpp"
"src/main/cpp/org_ros2_rcljava_graph_EndpointInfo"
"src/main/cpp/org_ros2_rcljava_publisher_statuses_LivelinessLost.cpp"
"src/main/cpp/org_ros2_rcljava_publisher_statuses_OfferedDeadlineMissed.cpp"
"src/main/cpp/org_ros2_rcljava_publisher_statuses_OfferedQosIncompatible.cpp"
"src/main/cpp/org_ros2_rcljava_node_NodeImpl.cpp"
"src/main/cpp/org_ros2_rcljava_publisher_PublisherImpl.cpp"
"src/main/cpp/org_ros2_rcljava_qos_QoSProfile.cpp"
"src/main/cpp/org_ros2_rcljava_service_ServiceImpl.cpp"
"src/main/cpp/org_ros2_rcljava_subscription_SubscriptionImpl.cpp"
"src/main/cpp/org_ros2_rcljava_subscription_statuses_LivelinessChanged.cpp"
"src/main/cpp/org_ros2_rcljava_subscription_statuses_MessageLost.cpp"
"src/main/cpp/org_ros2_rcljava_subscription_statuses_RequestedDeadlineMissed.cpp"
"src/main/cpp/org_ros2_rcljava_subscription_statuses_RequestedQosIncompatible.cpp"
"src/main/cpp/org_ros2_rcljava_time_Clock.cpp"
"src/main/cpp/org_ros2_rcljava_timer_WallTimerImpl.cpp"
"src/main/cpp/org_ros2_rcljava_timer_TimerImpl.cpp"
)

foreach(_jni_source ${${PROJECT_NAME}_jni_sources})
Expand Down Expand Up @@ -101,10 +110,14 @@ foreach(_jni_source ${${PROJECT_NAME}_jni_sources})
endif()

ament_target_dependencies(${_target_name}
"rcl"
"rcljava_common"
"action_msgs"
"builtin_interfaces"
"rcl"
"rcl_action"
"rcl_interfaces"
"rcljava_common"
"rosgraph_msgs"
"unique_identifier_msgs"
)

target_include_directories(${_target_name}
Expand All @@ -124,8 +137,15 @@ endforeach()
set(${PROJECT_NAME}_sources
"src/main/java/org/ros2/rcljava/RCLJava.java"
"src/main/java/org/ros2/rcljava/Time.java"
"src/main/java/org/ros2/rcljava/action/ActionServer.java"
"src/main/java/org/ros2/rcljava/action/ActionServerGoalHandle.java"
"src/main/java/org/ros2/rcljava/action/ActionServerImpl.java"
"src/main/java/org/ros2/rcljava/action/CancelCallback.java"
"src/main/java/org/ros2/rcljava/action/GoalCallback.java"
"src/main/java/org/ros2/rcljava/action/GoalStatus.java"
"src/main/java/org/ros2/rcljava/client/Client.java"
"src/main/java/org/ros2/rcljava/client/ClientImpl.java"
"src/main/java/org/ros2/rcljava/client/ResponseFuture.java"
"src/main/java/org/ros2/rcljava/concurrent/Callback.java"
"src/main/java/org/ros2/rcljava/concurrent/RCLFuture.java"
"src/main/java/org/ros2/rcljava/contexts/Context.java"
Expand All @@ -139,14 +159,14 @@ set(${PROJECT_NAME}_sources
"src/main/java/org/ros2/rcljava/events/EventStatus.java"
"src/main/java/org/ros2/rcljava/events/PublisherEventStatus.java"
"src/main/java/org/ros2/rcljava/events/SubscriptionEventStatus.java"
"src/main/java/org/ros2/rcljava/publisher/statuses/LivelinessLost.java"
"src/main/java/org/ros2/rcljava/publisher/statuses/OfferedDeadlineMissed.java"
"src/main/java/org/ros2/rcljava/publisher/statuses/OfferedQosIncompatible.java"
"src/main/java/org/ros2/rcljava/graph/NameAndTypes.java"
"src/main/java/org/ros2/rcljava/graph/NodeNameInfo.java"
"src/main/java/org/ros2/rcljava/executors/AnyExecutable.java"
"src/main/java/org/ros2/rcljava/executors/BaseExecutor.java"
"src/main/java/org/ros2/rcljava/executors/Executor.java"
"src/main/java/org/ros2/rcljava/executors/MultiThreadedExecutor.java"
"src/main/java/org/ros2/rcljava/executors/SingleThreadedExecutor.java"
"src/main/java/org/ros2/rcljava/graph/EndpointInfo.java"
"src/main/java/org/ros2/rcljava/node/BaseComposableNode.java"
"src/main/java/org/ros2/rcljava/node/ComposableNode.java"
"src/main/java/org/ros2/rcljava/node/Node.java"
Expand All @@ -168,6 +188,9 @@ set(${PROJECT_NAME}_sources
"src/main/java/org/ros2/rcljava/parameters/service/ParameterServiceImpl.java"
"src/main/java/org/ros2/rcljava/publisher/Publisher.java"
"src/main/java/org/ros2/rcljava/publisher/PublisherImpl.java"
"src/main/java/org/ros2/rcljava/publisher/statuses/LivelinessLost.java"
"src/main/java/org/ros2/rcljava/publisher/statuses/OfferedDeadlineMissed.java"
"src/main/java/org/ros2/rcljava/publisher/statuses/OfferedQosIncompatible.java"
"src/main/java/org/ros2/rcljava/qos/policies/Durability.java"
"src/main/java/org/ros2/rcljava/qos/policies/History.java"
"src/main/java/org/ros2/rcljava/qos/policies/Liveliness.java"
Expand All @@ -180,11 +203,14 @@ set(${PROJECT_NAME}_sources
"src/main/java/org/ros2/rcljava/subscription/Subscription.java"
"src/main/java/org/ros2/rcljava/subscription/SubscriptionImpl.java"
"src/main/java/org/ros2/rcljava/subscription/statuses/LivelinessChanged.java"
"src/main/java/org/ros2/rcljava/subscription/statuses/MessageLost.java"
"src/main/java/org/ros2/rcljava/subscription/statuses/RequestedDeadlineMissed.java"
"src/main/java/org/ros2/rcljava/subscription/statuses/RequestedQosIncompatible.java"
"src/main/java/org/ros2/rcljava/time/Clock.java"
"src/main/java/org/ros2/rcljava/time/ClockType.java"
"src/main/java/org/ros2/rcljava/time/TimeSource.java"
"src/main/java/org/ros2/rcljava/timer/Timer.java"
"src/main/java/org/ros2/rcljava/timer/TimerImpl.java"
"src/main/java/org/ros2/rcljava/timer/WallTimer.java"
"src/main/java/org/ros2/rcljava/timer/WallTimerImpl.java"
)
Expand All @@ -194,17 +220,32 @@ add_jar("${PROJECT_NAME}_jar"
OUTPUT_NAME
${PROJECT_NAME}
INCLUDE_JARS
${rcljava_common_JARS}
${action_msgs_JARS}
${builtin_interfaces_JARS}
${rcl_interfaces_JARS}
${rcljava_common_JARS}
${rosgraph_msgs_JARS}
${unique_identifier_msgs_JARS}
)

install_jar("${PROJECT_NAME}_jar" "share/${PROJECT_NAME}/java")
ament_export_jars("share/${PROJECT_NAME}/java/${PROJECT_NAME}.jar")

add_source_jar("${PROJECT_NAME}-source_jar"
${${PROJECT_NAME}_sources}
OUTPUT_NAME
${PROJECT_NAME}-source
)

install_jar("${PROJECT_NAME}-source_jar" "share/${PROJECT_NAME}/java")
ament_export_jars("share/${PROJECT_NAME}/java/${PROJECT_NAME}-source.jar")


if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
find_package(std_msgs REQUIRED)
find_package(mockito_vendor REQUIRED)
find_package(test_msgs REQUIRED)
ament_lint_auto_find_test_dependencies()

set(${PROJECT_NAME}_message_files
Expand Down Expand Up @@ -232,8 +273,11 @@ if(BUILD_TESTING)
${${PROJECT_NAME}_message_files}
${${PROJECT_NAME}_service_files}
DEPENDENCIES
action_msgs
builtin_interfaces
rcl_interfaces
rosgraph_msgs
unique_identifier_msgs
${_java_type_supports}
SKIP_INSTALL
)
Expand All @@ -250,32 +294,40 @@ if(BUILD_TESTING)
"src/test/java/org/ros2/rcljava/RCLJavaTest.java"
"src/test/java/org/ros2/rcljava/SpinTest.java"
"src/test/java/org/ros2/rcljava/TimeTest.java"
"src/test/java/org/ros2/rcljava/action/ActionServerTest.java"
"src/test/java/org/ros2/rcljava/action/MockActionClient.java"
"src/test/java/org/ros2/rcljava/client/ClientTest.java"
"src/test/java/org/ros2/rcljava/contexts/ContextTest.java"
"src/test/java/org/ros2/rcljava/node/NodeOptionsTest.java"
"src/test/java/org/ros2/rcljava/node/NodeParametersTest.java"
"src/test/java/org/ros2/rcljava/node/NodeUndeclaredParametersTest.java"
"src/test/java/org/ros2/rcljava/node/NodeTest.java"
# "src/test/java/org/ros2/rcljava/parameters/AsyncParametersClientTest.java"
# "src/test/java/org/ros2/rcljava/parameters/SyncParametersClientTest.java"
"src/test/java/org/ros2/rcljava/parameters/AsyncParametersClientTest.java"
"src/test/java/org/ros2/rcljava/parameters/SyncParametersClientTest.java"
"src/test/java/org/ros2/rcljava/publisher/PublisherTest.java"
"src/test/java/org/ros2/rcljava/qos/QoSProfileTest.java"
"src/test/java/org/ros2/rcljava/subscription/SubscriptionTest.java"
"src/test/java/org/ros2/rcljava/time/TimeSourceTest.java"
"src/test/java/org/ros2/rcljava/timer/TimerTest.java"
)

set(${PROJECT_NAME}_testsuites
"org.ros2.rcljava.RCLJavaTest"
"org.ros2.rcljava.SpinTest"
"org.ros2.rcljava.TimeTest"
"org.ros2.rcljava.action.ActionServerTest"
"org.ros2.rcljava.client.ClientTest"
"org.ros2.rcljava.contexts.ContextTest"
"org.ros2.rcljava.node.NodeOptionsTest"
"org.ros2.rcljava.node.NodeParametersTest"
"org.ros2.rcljava.node.NodeUndeclaredParametersTest"
"org.ros2.rcljava.node.NodeTest"
# "org.ros2.rcljava.parameters.SyncParametersClientTest"
"org.ros2.rcljava.parameters.AsyncParametersClientTest"
"org.ros2.rcljava.parameters.SyncParametersClientTest"
"org.ros2.rcljava.publisher.PublisherTest"
"org.ros2.rcljava.qos.QoSProfileTest"
"org.ros2.rcljava.subscription.SubscriptionTest"
"org.ros2.rcljava.time.TimeSourceTest"
"org.ros2.rcljava.timer.TimerTest"
)

Expand Down Expand Up @@ -316,6 +368,42 @@ if(BUILD_TESTING)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()

foreach(_dep_lib ${rosgraph_msgs_interfaces_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()
foreach(_dep_lib ${rosgraph_msgs_JNI_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()

foreach(_dep_lib ${action_msgs_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()
foreach(_dep_lib ${action_msgs_JNI_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()

foreach(_dep_lib ${unique_identifier_msgs_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()
foreach(_dep_lib ${unique_identifier_msgs_JNI_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()

foreach(_dep_lib ${test_msgs_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()
foreach(_dep_lib ${test_msgs_JNI_LIBRARIES})
get_filename_component(_dep_dir "${_dep_lib}" DIRECTORY)
list_append_unique(_deps_library_dirs ${_dep_dir})
endforeach()

list_append_unique(_deps_library_dirs ${CMAKE_CURRENT_BINARY_DIR})
list_append_unique(_deps_library_dirs ${CMAKE_CURRENT_BINARY_DIR}/rcljava)
list_append_unique(_deps_library_dirs ${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_java/rcljava/msg/)
Expand All @@ -331,11 +419,16 @@ if(BUILD_TESTING)
TESTS
"${testsuite}"
INCLUDE_JARS
"${action_msgs_JARS}"
"${rcljava_common_JARS}"
"${rcljava_test_msgs_JARS}"
"${std_msgs_JARS}"
"${builtin_interfaces_JARS}"
"${rcl_interfaces_JARS}"
"${rosgraph_msgs_JARS}"
"${test_msgs_JARS}"
"${mockito_vendor_JARS}"
"${unique_identifier_msgs_JARS}"
"${_${PROJECT_NAME}_jar_file}"
"${_${PROJECT_NAME}_messages_jar_file}"
APPEND_LIBRARY_DIRS
Expand Down
Loading