Skip to content

Commit 3d759a1

Browse files
committed
adds in package directories and setup
1 parent 93aa86b commit 3d759a1

File tree

25 files changed

+826
-0
lines changed

25 files changed

+826
-0
lines changed

robot_mcp_bringup/CMakeLists.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
cmake_minimum_required(VERSION 3.8)
2+
project(robot_mcp_examples)
3+
4+
find_package(ament_cmake REQUIRED)
5+
6+
# Install example config files
7+
install(DIRECTORY
8+
config/
9+
DESTINATION share/${PROJECT_NAME}/config
10+
)
11+
12+
# Install launch files
13+
install(DIRECTORY
14+
launch/
15+
DESTINATION share/${PROJECT_NAME}/launch
16+
)
17+
18+
ament_package()
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Minimal robot_mcp configuration example
2+
# This will be populated in Phase 2 (Configuration System)
3+
4+
mcp_http_server:
5+
ros__parameters:
6+
server:
7+
host: "0.0.0.0"
8+
port: 8080
9+
10+
# Example actions, services, and topics will be added later
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright 2025 WATonomous
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
launch:
16+
# Launch arguments
17+
- arg:
18+
name: config
19+
default: ""
20+
description: "Path to robot_mcp configuration file"
21+
22+
# Node will be added in Phase 5 (Lifecycle Integration)
23+
# - node:
24+
# pkg: robot_mcp_server
25+
# exec: robot_mcp_server_node
26+
# name: robot_mcp_server
27+
# param:
28+
# - from: $(var config)
29+
# output: screen

robot_mcp_bringup/package.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
<name>robot_mcp_examples</name>
5+
<version>0.1.0</version>
6+
<description>Example configurations, launch files, and custom plugins for robot_mcp</description>
7+
8+
<maintainer email="e23zhou@watonomous.ca">Eddy Zhou</maintainer>
9+
<author email="hello@watonomous.ca">WATonomous</author>
10+
<license>Apache 2.0</license>
11+
12+
<buildtool_depend>ament_cmake</buildtool_depend>
13+
14+
<exec_depend>robot_mcp_server</exec_depend>
15+
<exec_depend>robot_mcp_common_msg_plugins</exec_depend>
16+
17+
<export>
18+
<build_type>ament_cmake</build_type>
19+
</export>
20+
</package>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
cmake_minimum_required(VERSION 3.8)
2+
project(robot_mcp_common_msg_plugins)
3+
4+
find_package(ament_cmake REQUIRED)
5+
6+
ament_package()
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
<name>robot_mcp_common_msg_plugins</name>
5+
<version>0.1.0</version>
6+
<description>
7+
Metapackage that aggregates common ROS2 message plugins for robot_mcp.
8+
</description>
9+
10+
<maintainer email="e23zhou@watonomous.ca">Eddy Zhou</maintainer>
11+
<author email="hello@watonomous.ca">WATonomous</author>
12+
<license>Apache 2.0</license>
13+
14+
<buildtool_depend>ament_cmake</buildtool_depend>
15+
16+
<exec_depend>robot_mcp_std_msg_plugins</exec_depend>
17+
<exec_depend>robot_mcp_geometry_msg_plugins</exec_depend>
18+
<exec_depend>robot_mcp_sensor_msg_plugins</exec_depend>
19+
<exec_depend>robot_mcp_nav_msg_plugins</exec_depend>
20+
21+
<export>
22+
<build_type>ament_cmake</build_type>
23+
</export>
24+
</package>
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
cmake_minimum_required(VERSION 3.22)
2+
project(robot_mcp_geometry_msg_plugins)
3+
4+
if(NOT CMAKE_CXX_STANDARD)
5+
set(CMAKE_CXX_STANDARD 17)
6+
endif()
7+
8+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
9+
add_compile_options(-Wall -Wextra -Wpedantic)
10+
add_link_options(-Wl,-no-undefined)
11+
endif()
12+
13+
find_package(ament_cmake REQUIRED)
14+
find_package(robot_mcp_msg_pluginlib REQUIRED)
15+
find_package(geometry_msgs REQUIRED)
16+
find_package(pluginlib REQUIRED)
17+
find_package(nlohmann_json REQUIRED)
18+
19+
set(include_dir ${CMAKE_CURRENT_SOURCE_DIR}/include)
20+
21+
# Plugin library (will be populated in Phase 3)
22+
# add_library(${PROJECT_NAME} SHARED
23+
# src/plugins/pose_plugin.cpp
24+
# # More plugin implementations...
25+
# )
26+
# target_include_directories(${PROJECT_NAME} PUBLIC
27+
# $<BUILD_INTERFACE:${include_dir}>
28+
# $<INSTALL_INTERFACE:include>
29+
# )
30+
# target_link_libraries(${PROJECT_NAME}
31+
# PUBLIC
32+
# robot_mcp_msg_pluginlib::robot_mcp_msg_pluginlib
33+
# PRIVATE
34+
# ${geometry_msgs_TARGETS}
35+
# pluginlib::pluginlib
36+
# nlohmann_json::nlohmann_json
37+
# )
38+
#
39+
# install(TARGETS ${PROJECT_NAME}
40+
# EXPORT ${PROJECT_NAME}Targets
41+
# ARCHIVE DESTINATION lib
42+
# LIBRARY DESTINATION lib
43+
# RUNTIME DESTINATION bin
44+
# )
45+
#
46+
# install(EXPORT ${PROJECT_NAME}Targets
47+
# NAMESPACE ${PROJECT_NAME}::
48+
# DESTINATION share/${PROJECT_NAME}/cmake
49+
# )
50+
51+
install(DIRECTORY include/
52+
DESTINATION include
53+
)
54+
55+
install(FILES plugins.xml
56+
DESTINATION share/${PROJECT_NAME}
57+
)
58+
59+
pluginlib_export_plugin_description_file(robot_mcp_msg_pluginlib plugins.xml)
60+
61+
# ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)
62+
ament_package()
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
<name>robot_mcp_geometry_msg_plugins</name>
5+
<version>0.1.0</version>
6+
<description>Message plugins for geometry_msgs types</description>
7+
8+
<maintainer email="e23zhou@watonomous.ca">Eddy Zhou</maintainer>
9+
<author email="hello@watonomous.ca">WATonomous</author>
10+
<license>Apache 2.0</license>
11+
12+
<buildtool_depend>ament_cmake</buildtool_depend>
13+
14+
<depend>robot_mcp_msg_pluginlib</depend>
15+
<depend>geometry_msgs</depend>
16+
<depend>pluginlib</depend>
17+
<depend>nlohmann-json-dev</depend>
18+
19+
<export>
20+
<build_type>ament_cmake</build_type>
21+
<robot_mcp_msg_pluginlib plugin="${prefix}/plugins.xml" />
22+
</export>
23+
</package>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<library path="robot_mcp_geometry_msg_plugins">
2+
<!-- Plugin implementations will be added in Phase 3 -->
3+
</library>
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
cmake_minimum_required(VERSION 3.22)
2+
project(robot_mcp_nav_msg_plugins)
3+
4+
if(NOT CMAKE_CXX_STANDARD)
5+
set(CMAKE_CXX_STANDARD 17)
6+
endif()
7+
8+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
9+
add_compile_options(-Wall -Wextra -Wpedantic)
10+
add_link_options(-Wl,-no-undefined)
11+
endif()
12+
13+
find_package(ament_cmake REQUIRED)
14+
find_package(robot_mcp_msg_pluginlib REQUIRED)
15+
find_package(nav_msgs REQUIRED)
16+
find_package(pluginlib REQUIRED)
17+
find_package(nlohmann_json REQUIRED)
18+
19+
set(include_dir ${CMAKE_CURRENT_SOURCE_DIR}/include)
20+
21+
# Plugin library (will be populated in Phase 3)
22+
# add_library(${PROJECT_NAME} SHARED
23+
# src/plugins/odometry_plugin.cpp
24+
# # More plugin implementations...
25+
# )
26+
# target_include_directories(${PROJECT_NAME} PUBLIC
27+
# $<BUILD_INTERFACE:${include_dir}>
28+
# $<INSTALL_INTERFACE:include>
29+
# )
30+
# target_link_libraries(${PROJECT_NAME}
31+
# PUBLIC
32+
# robot_mcp_msg_pluginlib::robot_mcp_msg_pluginlib
33+
# PRIVATE
34+
# ${nav_msgs_TARGETS}
35+
# pluginlib::pluginlib
36+
# nlohmann_json::nlohmann_json
37+
# )
38+
#
39+
# install(TARGETS ${PROJECT_NAME}
40+
# EXPORT ${PROJECT_NAME}Targets
41+
# ARCHIVE DESTINATION lib
42+
# LIBRARY DESTINATION lib
43+
# RUNTIME DESTINATION bin
44+
# )
45+
#
46+
# install(EXPORT ${PROJECT_NAME}Targets
47+
# NAMESPACE ${PROJECT_NAME}::
48+
# DESTINATION share/${PROJECT_NAME}/cmake
49+
# )
50+
51+
install(DIRECTORY include/
52+
DESTINATION include
53+
)
54+
55+
install(FILES plugins.xml
56+
DESTINATION share/${PROJECT_NAME}
57+
)
58+
59+
pluginlib_export_plugin_description_file(robot_mcp_msg_pluginlib plugins.xml)
60+
61+
# ament_export_targets(${PROJECT_NAME}Targets HAS_LIBRARY_TARGET)
62+
ament_package()

0 commit comments

Comments
 (0)