diff --git a/map/map_projection_loader/CMakeLists.txt b/map/map_projection_loader/CMakeLists.txt
index f6102a1efa795..87f519ab22572 100644
--- a/map/map_projection_loader/CMakeLists.txt
+++ b/map/map_projection_loader/CMakeLists.txt
@@ -6,25 +6,24 @@ autoware_package()
ament_auto_find_build_dependencies()
-ament_auto_add_library(map_projection_loader_lib SHARED
+ament_auto_add_library(${PROJECT_NAME} SHARED
src/map_projection_loader.cpp
src/load_info_from_lanelet2_map.cpp
)
-target_link_libraries(map_projection_loader_lib yaml-cpp)
-
-ament_auto_add_executable(map_projection_loader src/map_projection_loader_node.cpp)
-
-target_compile_options(map_projection_loader PUBLIC -g -Wall -Wextra -Wpedantic -Werror)
+rclcpp_components_register_node(${PROJECT_NAME}
+ PLUGIN "MapProjectionLoader"
+ EXECUTABLE ${PROJECT_NAME}_node
+ EXECUTOR SingleThreadedExecutor
+)
-target_link_libraries(map_projection_loader map_projection_loader_lib)
-target_include_directories(map_projection_loader PUBLIC include)
+target_link_libraries(${PROJECT_NAME} yaml-cpp)
function(add_testcase filepath)
get_filename_component(filename ${filepath} NAME)
string(REGEX REPLACE ".cpp" "" test_name ${filename})
ament_add_gmock(${test_name} ${filepath})
- target_link_libraries("${test_name}" map_projection_loader_lib)
+ target_link_libraries("${test_name}" ${PROJECT_NAME})
ament_target_dependencies(${test_name} ${${PROJECT_NAME}_FOUND_BUILD_DEPENDS})
endfunction()
@@ -57,7 +56,8 @@ if(BUILD_TESTING)
add_testcase(test/test_load_info_from_lanelet2_map.cpp)
endif()
-ament_auto_package(INSTALL_TO_SHARE
+ament_auto_package(
+ INSTALL_TO_SHARE
launch
config
)
diff --git a/map/map_projection_loader/include/map_projection_loader/map_projection_loader.hpp b/map/map_projection_loader/include/map_projection_loader/map_projection_loader.hpp
index 54e794e2742bf..05bc6e64e1675 100644
--- a/map/map_projection_loader/include/map_projection_loader/map_projection_loader.hpp
+++ b/map/map_projection_loader/include/map_projection_loader/map_projection_loader.hpp
@@ -29,7 +29,7 @@ tier4_map_msgs::msg::MapProjectorInfo load_map_projector_info(
class MapProjectionLoader : public rclcpp::Node
{
public:
- MapProjectionLoader();
+ explicit MapProjectionLoader(const rclcpp::NodeOptions & options);
private:
using MapProjectorInfo = map_interface::MapProjectorInfo;
diff --git a/map/map_projection_loader/launch/map_projection_loader.launch.xml b/map/map_projection_loader/launch/map_projection_loader.launch.xml
index a6570b69d3498..13418a7e97423 100644
--- a/map/map_projection_loader/launch/map_projection_loader.launch.xml
+++ b/map/map_projection_loader/launch/map_projection_loader.launch.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/map/map_projection_loader/package.xml b/map/map_projection_loader/package.xml
index 475881577bd58..7a930085cd7b1 100644
--- a/map/map_projection_loader/package.xml
+++ b/map/map_projection_loader/package.xml
@@ -21,6 +21,7 @@
component_interface_utils
lanelet2_extension
rclcpp
+ rclcpp_components
tier4_map_msgs
yaml-cpp
diff --git a/map/map_projection_loader/src/map_projection_loader.cpp b/map/map_projection_loader/src/map_projection_loader.cpp
index 5966baaed8383..383051e8f67a5 100644
--- a/map/map_projection_loader/src/map_projection_loader.cpp
+++ b/map/map_projection_loader/src/map_projection_loader.cpp
@@ -82,7 +82,8 @@ tier4_map_msgs::msg::MapProjectorInfo load_map_projector_info(
return msg;
}
-MapProjectionLoader::MapProjectionLoader() : Node("map_projection_loader")
+MapProjectionLoader::MapProjectionLoader(const rclcpp::NodeOptions & options)
+: rclcpp::Node("map_projection_loader", options)
{
const std::string yaml_filename = this->declare_parameter("map_projector_info_path");
const std::string lanelet2_map_filename =
@@ -96,3 +97,6 @@ MapProjectionLoader::MapProjectionLoader() : Node("map_projection_loader")
adaptor.init_pub(publisher_);
publisher_->publish(msg);
}
+
+#include
+RCLCPP_COMPONENTS_REGISTER_NODE(MapProjectionLoader)
diff --git a/map/map_projection_loader/src/map_projection_loader_node.cpp b/map/map_projection_loader/src/map_projection_loader_node.cpp
deleted file mode 100644
index 1d9336be0d9dd..0000000000000
--- a/map/map_projection_loader/src/map_projection_loader_node.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 TIER IV, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "map_projection_loader/map_projection_loader.hpp"
-
-int main(int argc, char * argv[])
-{
- rclcpp::init(argc, argv);
- rclcpp::spin(std::make_shared());
- rclcpp::shutdown();
- return 0;
-}
diff --git a/map/map_projection_loader/test/test_node_load_local_cartesian_utm_from_yaml.test.py b/map/map_projection_loader/test/test_node_load_local_cartesian_utm_from_yaml.test.py
index b8540550ce9da..0d0b5cb31afba 100644
--- a/map/map_projection_loader/test/test_node_load_local_cartesian_utm_from_yaml.test.py
+++ b/map/map_projection_loader/test/test_node_load_local_cartesian_utm_from_yaml.test.py
@@ -44,7 +44,7 @@ def generate_test_description():
map_projection_loader_node = Node(
package="map_projection_loader",
- executable="map_projection_loader",
+ executable="map_projection_loader_node",
output="screen",
parameters=[
{
diff --git a/map/map_projection_loader/test/test_node_load_local_from_yaml.test.py b/map/map_projection_loader/test/test_node_load_local_from_yaml.test.py
index c7697038cc253..6a17ff340b19f 100644
--- a/map/map_projection_loader/test/test_node_load_local_from_yaml.test.py
+++ b/map/map_projection_loader/test/test_node_load_local_from_yaml.test.py
@@ -44,7 +44,7 @@ def generate_test_description():
map_projection_loader_node = Node(
package="map_projection_loader",
- executable="map_projection_loader",
+ executable="map_projection_loader_node",
output="screen",
parameters=[
{
diff --git a/map/map_projection_loader/test/test_node_load_mgrs_from_yaml.test.py b/map/map_projection_loader/test/test_node_load_mgrs_from_yaml.test.py
index f75beddc6827c..37cfd9936bf20 100644
--- a/map/map_projection_loader/test/test_node_load_mgrs_from_yaml.test.py
+++ b/map/map_projection_loader/test/test_node_load_mgrs_from_yaml.test.py
@@ -44,7 +44,7 @@ def generate_test_description():
map_projection_loader_node = Node(
package="map_projection_loader",
- executable="map_projection_loader",
+ executable="map_projection_loader_node",
output="screen",
parameters=[
{
diff --git a/map/map_projection_loader/test/test_node_load_transverse_mercator_from_yaml.test.py b/map/map_projection_loader/test/test_node_load_transverse_mercator_from_yaml.test.py
index 765f3cde04679..7bccdc7875454 100644
--- a/map/map_projection_loader/test/test_node_load_transverse_mercator_from_yaml.test.py
+++ b/map/map_projection_loader/test/test_node_load_transverse_mercator_from_yaml.test.py
@@ -44,7 +44,7 @@ def generate_test_description():
map_projection_loader_node = Node(
package="map_projection_loader",
- executable="map_projection_loader",
+ executable="map_projection_loader_node",
output="screen",
parameters=[
{