Skip to content

Commit 7b4a8d9

Browse files
dirk-thomasJuan Ignacio Ubeira
authored and
Juan Ignacio Ubeira
committed
Initial ROS2 port build changes.
- Switch from catkin to ament_cmake - Use package name for builtin types and header - Rename fields which collide with keywords - Add ros1_bridge mapping rule - Use ament_cmake_ros - Set CMAKE_CXX_STANDARD
1 parent d2065f0 commit 7b4a8d9

20 files changed

+140
-152
lines changed

rosapi/CMakeLists.txt

+45-40
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,55 @@
1-
cmake_minimum_required(VERSION 2.8.3)
1+
cmake_minimum_required(VERSION 3.5)
22
project(rosapi)
33

4-
find_package(catkin REQUIRED COMPONENTS message_generation)
5-
catkin_python_setup()
4+
find_package(ament_cmake_ros REQUIRED)
5+
find_package(builtin_interfaces REQUIRED)
6+
find_package(rosidl_default_generators REQUIRED)
67

7-
add_message_files(
8-
FILES
9-
TypeDef.msg
10-
)
8+
if(NOT CMAKE_CXX_STANDARD)
9+
set(CMAKE_CXX_STANDARD 14)
10+
endif()
1111

12-
add_service_files(
13-
FILES
14-
DeleteParam.srv
15-
GetActionServers.srv
16-
GetParam.srv
17-
GetParamNames.srv
18-
GetTime.srv
19-
HasParam.srv
20-
MessageDetails.srv
21-
Nodes.srv
22-
NodeDetails.srv
23-
Publishers.srv
24-
SearchParam.srv
25-
ServiceHost.srv
26-
ServiceNode.srv
27-
ServiceProviders.srv
28-
ServiceRequestDetails.srv
29-
ServiceResponseDetails.srv
30-
Services.srv
31-
ServicesForType.srv
32-
ServiceType.srv
33-
SetParam.srv
34-
Subscribers.srv
35-
Topics.srv
36-
TopicsForType.srv
37-
TopicType.srv
38-
)
12+
ament_python_install_package(
13+
${PROJECT_NAME} PACKAGE_DIR "src/${PROJECT_NAME}")
3914

40-
generate_messages(
41-
DEPENDENCIES
15+
rosidl_generate_interfaces(${PROJECT_NAME}
16+
msg/TypeDef.msg
17+
srv/DeleteParam.srv
18+
srv/GetActionServers.srv
19+
srv/GetParam.srv
20+
srv/GetParamNames.srv
21+
srv/GetTime.srv
22+
srv/HasParam.srv
23+
srv/MessageDetails.srv
24+
srv/Nodes.srv
25+
srv/NodeDetails.srv
26+
srv/Publishers.srv
27+
srv/SearchParam.srv
28+
srv/ServiceHost.srv
29+
srv/ServiceNode.srv
30+
srv/ServiceProviders.srv
31+
srv/ServiceRequestDetails.srv
32+
srv/ServiceResponseDetails.srv
33+
srv/Services.srv
34+
srv/ServicesForType.srv
35+
srv/ServiceType.srv
36+
srv/SetParam.srv
37+
srv/Subscribers.srv
38+
srv/Topics.srv
39+
srv/TopicsForType.srv
40+
srv/TopicType.srv
41+
DEPENDENCIES builtin_interfaces
4242
)
4343

44-
catkin_package(
45-
CATKIN_DEPENDS message_runtime
46-
)
44+
ament_export_dependencies(rosidl_default_runtime)
45+
46+
ament_package()
4747

4848
install(PROGRAMS scripts/rosapi_node
49-
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
49+
DESTINATION lib/${PROJECT_NAME}
50+
)
51+
52+
install(
53+
FILES mapping_rules.yaml
54+
DESTINATION share/${PROJECT_NAME}
5055
)

rosapi/mapping_rules.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-
2+
ros1_package_name: 'rosapi'
3+
ros1_service_name: 'GetParam'
4+
ros2_package_name: 'rosapi'
5+
ros2_service_name: 'GetParam'
6+
request_fields_1_to_2:
7+
name: 'name'
8+
default: 'default_value'

rosapi/package.xml

+14-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
2-
<package format="2">
2+
<package format="3">
33
<name>rosapi</name>
44
<version>0.11.3</version>
55
<description>
@@ -17,13 +17,22 @@
1717
<maintainer email="[email protected]">Russell Toris</maintainer>
1818
<maintainer email="[email protected]">Jihoon Lee</maintainer>
1919

20-
<buildtool_depend>catkin</buildtool_depend>
20+
<buildtool_depend>ament_cmake_ros</buildtool_depend>
2121

22-
<build_depend>message_generation</build_depend>
22+
<buildtool_depend>rosidl_default_generators</buildtool_depend>
2323

24+
<exec_depend>rclpy</exec_depend>
2425
<exec_depend>rosbridge_library</exec_depend>
25-
<exec_depend>rospy</exec_depend>
26+
<!--
2627
<exec_depend>rosnode</exec_depend>
2728
<exec_depend>rosgraph</exec_depend>
28-
<exec_depend>message_runtime</exec_depend>
29+
-->
30+
<exec_depend>rosidl_default_runtime</exec_depend>
31+
32+
<member_of_group>rosidl_interface_packages</member_of_group>
33+
34+
<export>
35+
<build_type>ament_cmake</build_type>
36+
<ros1_bridge mapping_rules="mapping_rules.yaml"/>
37+
</export>
2938
</package>

rosapi/setup.py

-11
This file was deleted.

rosapi/srv/GetParam.srv

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
string name
2-
string default
2+
string default_value
33
---
44
string value

rosapi/srv/GetTime.srv

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
time time
2+
builtin_interfaces/Time time

rosbridge_library/CMakeLists.txt

+38-46
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,47 @@
1-
cmake_minimum_required(VERSION 2.8.3)
1+
cmake_minimum_required(VERSION 3.5)
22
project(rosbridge_library)
33

4-
find_package(catkin REQUIRED COMPONENTS message_generation std_msgs geometry_msgs)
4+
find_package(ament_cmake_core REQUIRED)
5+
find_package(ament_cmake_python REQUIRED)
6+
find_package(builtin_interfaces REQUIRED)
7+
find_package(geometry_msgs REQUIRED)
8+
find_package(rosidl_default_generators REQUIRED)
9+
find_package(std_msgs REQUIRED)
510

6-
# Generate messages for testing (NOINSTALL)
7-
add_message_files(
8-
FILES
9-
Num.msg
10-
TestChar.msg
11-
TestDurationArray.msg
12-
TestHeaderArray.msg
13-
TestHeader.msg
14-
TestHeaderTwo.msg
15-
TestTimeArray.msg
16-
TestUInt8.msg
17-
TestUInt8FixedSizeArray16.msg
18-
NOINSTALL
19-
)
11+
ament_python_install_package(
12+
${PROJECT_NAME} PACKAGE_DIR "src/${PROJECT_NAME}")
2013

21-
# Generate services for testing (NOINSTALL)
22-
add_service_files(
23-
FILES
24-
AddTwoInts.srv
25-
SendBytes.srv
26-
TestArrayRequest.srv
27-
TestEmpty.srv
28-
TestMultipleRequestFields.srv
29-
TestMultipleResponseFields.srv
30-
TestNestedService.srv
31-
TestRequestAndResponse.srv
32-
TestRequestOnly.srv
33-
TestResponseOnly.srv
34-
NOINSTALL
14+
rosidl_generate_interfaces(${PROJECT_NAME}
15+
msg/Num.msg
16+
msg/TestChar.msg
17+
msg/TestDurationArray.msg
18+
msg/TestHeaderArray.msg
19+
msg/TestHeader.msg
20+
msg/TestHeaderTwo.msg
21+
msg/TestTimeArray.msg
22+
msg/TestUInt8.msg
23+
msg/TestUInt8FixedSizeArray16.msg
24+
srv/AddTwoInts.srv
25+
srv/SendBytes.srv
26+
srv/TestArrayRequest.srv
27+
srv/TestEmpty.srv
28+
srv/TestMultipleRequestFields.srv
29+
srv/TestMultipleResponseFields.srv
30+
srv/TestNestedService.srv
31+
srv/TestRequestAndResponse.srv
32+
srv/TestRequestOnly.srv
33+
srv/TestResponseOnly.srv
34+
DEPENDENCIES builtin_interfaces geometry_msgs std_msgs
35+
SKIP_INSTALL
3536
)
3637

37-
catkin_python_setup()
38-
39-
# Generate added messages and services with any dependencies listed here
40-
generate_messages(
41-
DEPENDENCIES
42-
std_msgs
43-
geometry_msgs
44-
)
38+
ament_export_dependencies(rosidl_default_runtime)
4539

46-
catkin_package(
47-
CATKIN_DEPENDS message_runtime std_msgs geometry_msgs
48-
)
40+
ament_package()
4941

50-
# Test launch files
51-
if (CATKIN_ENABLE_TESTING)
52-
find_package(rostest REQUIRED)
53-
add_rostest(test/capabilities/test_capabilities.test)
54-
add_rostest(test/internal/test_internal.test)
42+
if (BUILD_TESTING)
43+
# TODO reenable rostests
44+
# find_package(rostest REQUIRED)
45+
# add_rostest(test/capabilities/test_capabilities.test)
46+
# add_rostest(test/internal/test_internal.test)
5547
endif()
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
duration[] durations
1+
builtin_interfaces/Duration[] durations
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Header header
1+
std_msgs/Header header
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
time[] times
1+
builtin_interfaces/Time[] times

rosbridge_library/package.xml

+4
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,8 @@
4848
<test_depend>tf2_msgs</test_depend>
4949
<test_depend>trajectory_msgs</test_depend>
5050
<test_depend>visualization_msgs</test_depend>
51+
52+
<export>
53+
<build_type>ament_cmake</build_type>
54+
</export>
5155
</package>

rosbridge_library/setup.py

-11
This file was deleted.
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
int32[] int
1+
int32[] int_values
22
---
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
int32 int
2-
float32 float
1+
int32 int_value
2+
float32 float_value
33
string string
4-
bool bool
4+
bool bool_value
55
---
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
int32 int
3-
float32 float
2+
int32 int_value
3+
float32 float_value
44
string string
5-
bool bool
5+
bool bool_value

rosbridge_server/CMakeLists.txt

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
cmake_minimum_required(VERSION 2.8.3)
2-
project(rosbridge_server)
1+
cmake_minimum_required(VERSION 3.5)
2+
project(rosbridge_server NONE)
33

4-
find_package(catkin REQUIRED)
4+
find_package(ament_cmake_core REQUIRED)
5+
find_package(ament_cmake_python REQUIRED)
56

6-
catkin_python_setup()
7+
ament_python_install_package(
8+
${PROJECT_NAME} PACKAGE_DIR "src/${PROJECT_NAME}")
79

8-
catkin_package()
10+
ament_package()
911

1012
install(PROGRAMS
1113
scripts/rosbridge_websocket.py
@@ -14,13 +16,13 @@ install(PROGRAMS
1416
scripts/rosbridge_tcp
1517
scripts/rosbridge_udp
1618
scripts/rosbridge_udp.py
17-
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
19+
DESTINATION lib/${PROJECT_NAME}
1820
)
1921

2022
install(FILES
2123
launch/rosbridge_websocket.launch
2224
launch/rosbridge_tcp.launch
2325
launch/rosbridge_udp.launch
24-
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
26+
DESTINATION share/${PROJECT_NAME}/launch
2527
)
2628

rosbridge_server/package.xml

+4
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,8 @@
2323
<exec_depend>rosapi</exec_depend>
2424
<exec_depend>rospy</exec_depend>
2525
<exec_depend>rosauth</exec_depend>
26+
27+
<export>
28+
<build_type>ament_cmake</build_type>
29+
</export>
2630
</package>

rosbridge_server/setup.py

-14
This file was deleted.

rosbridge_suite/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 2.8.3)
2-
project(rosbridge_suite)
3-
find_package(catkin REQUIRED)
4-
catkin_metapackage()
1+
cmake_minimum_required(VERSION 3.5)
2+
project(rosbridge_suite NONE)
3+
find_package(ament_cmake_core REQUIRED)
4+
ament_package()

0 commit comments

Comments
 (0)