From 60b14737dc0af6b79443500d719e3ab3bd3285fc Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Wed, 3 Mar 2021 11:40:41 +0900 Subject: [PATCH 01/14] Add autoware version node (#394) * Add autoware version node Signed-off-by: Takagi, Isamu * Remove todo Signed-off-by: Takagi, Isamu * Remove unused variable Signed-off-by: Takagi, Isamu * Fix node name Signed-off-by: Takagi, Isamu --- system/autoware_version/CMakeLists.txt | 27 +++++++++ system/autoware_version/package.xml | 21 +++++++ .../autoware_version/src/autoware_version.cpp | 58 +++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 system/autoware_version/CMakeLists.txt create mode 100644 system/autoware_version/package.xml create mode 100644 system/autoware_version/src/autoware_version.cpp diff --git a/system/autoware_version/CMakeLists.txt b/system/autoware_version/CMakeLists.txt new file mode 100644 index 0000000000000..01f87f20db9e3 --- /dev/null +++ b/system/autoware_version/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.5) +project(autoware_version) + +if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) +endif() + +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") + add_compile_options(-Wall -Wextra -Wpedantic) + add_compile_options(-Wno-unused-parameter) +endif() + +find_package(ament_cmake_auto REQUIRED) +ament_auto_find_build_dependencies() + +ament_auto_add_executable(autoware_version + src/autoware_version.cpp +) + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_auto_package() diff --git a/system/autoware_version/package.xml b/system/autoware_version/package.xml new file mode 100644 index 0000000000000..e7825dfbf855f --- /dev/null +++ b/system/autoware_version/package.xml @@ -0,0 +1,21 @@ + + + + + autoware_version + 0.0.0 + The autoware version package + Takagi, Isamu + Apache License 2.0 + + ament_cmake_auto + autoware_system_msgs + rclcpp + ament_lint_auto + ament_lint_common + + + ament_cmake + + + diff --git a/system/autoware_version/src/autoware_version.cpp b/system/autoware_version/src/autoware_version.cpp new file mode 100644 index 0000000000000..d31bf45ebd9da --- /dev/null +++ b/system/autoware_version/src/autoware_version.cpp @@ -0,0 +1,58 @@ +// Copyright 2021 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 +#include +#include +#include "rclcpp/rclcpp.hpp" +#include "autoware_system_msgs/msg/autoware_version.hpp" + +class AutowareVersionNode : public rclcpp::Node +{ +public: + AutowareVersionNode() + : Node("autoware_version_node") + { + autoware_system_msgs::msg::AutowareVersion message; + { + const char * ptr = std::getenv("ROS_VERSION"); + if (ptr) { + message.ros_version = std::atoi(ptr); + } + } + RCLCPP_INFO(get_logger(), "ROS_VERSION=%d", message.ros_version); + { + const char * ptr = std::getenv("ROS_DISTRO"); + if (ptr) { + message.ros_distro = ptr; + } + } + RCLCPP_INFO(get_logger(), "ROS_DISTRO=%s", message.ros_distro.c_str()); + + publisher_ = create_publisher( + "autoware_version", rclcpp::QoS{1}.transient_local()); + publisher_->publish(message); + } + +private: + rclcpp::Publisher::SharedPtr publisher_; +}; + +int main(int argc, char ** argv) +{ + rclcpp::init(argc, argv); + rclcpp::spin(std::make_shared()); + rclcpp::shutdown(); + return 0; +} From c07d33d32460219b26271e1bf9aa27922594e1b5 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Fri, 5 Mar 2021 00:33:05 +0900 Subject: [PATCH 02/14] Modify autoware_version not to use transient_local (workaround) (#403) * Modify autoware_version not to use transient_local Signed-off-by: Takagi, Isamu * Add todo comment Signed-off-by: Takagi, Isamu * Fix for lint Signed-off-by: Takagi, Isamu --- system/autoware_version/src/autoware_version.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/system/autoware_version/src/autoware_version.cpp b/system/autoware_version/src/autoware_version.cpp index d31bf45ebd9da..a2ca35abc0033 100644 --- a/system/autoware_version/src/autoware_version.cpp +++ b/system/autoware_version/src/autoware_version.cpp @@ -13,8 +13,10 @@ // limitations under the License. #include +#include #include #include +#include #include "rclcpp/rclcpp.hpp" #include "autoware_system_msgs/msg/autoware_version.hpp" @@ -40,13 +42,23 @@ class AutowareVersionNode : public rclcpp::Node } RCLCPP_INFO(get_logger(), "ROS_DISTRO=%s", message.ros_distro.c_str()); + // TODO(isamu-takagi): use transient_local after rosbrigde supports it publisher_ = create_publisher( - "autoware_version", rclcpp::QoS{1}.transient_local()); - publisher_->publish(message); + "autoware_version", rclcpp::QoS{1}); + + auto callback = [this, message] {publisher_->publish(message);}; + timer_ = std::make_shared>( + get_clock(), + std::chrono::seconds{1}, + std::move(callback), + get_node_base_interface()->get_context() + ); + get_node_timers_interface()->add_timer(timer_, nullptr); } private: rclcpp::Publisher::SharedPtr publisher_; + rclcpp::TimerBase::SharedPtr timer_; }; int main(int argc, char ** argv) From ef8cde20c5055e9d362c44cfa601cea18dadb8f2 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Fri, 12 Mar 2021 17:24:19 +0900 Subject: [PATCH 03/14] Revert "Modify autoware_version not to use transient_local (workaround) (#403)" (#418) This reverts commit 39b7ef232a3d21c619d28935fa122abf23891961. Signed-off-by: Takagi, Isamu --- system/autoware_version/src/autoware_version.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/system/autoware_version/src/autoware_version.cpp b/system/autoware_version/src/autoware_version.cpp index a2ca35abc0033..d31bf45ebd9da 100644 --- a/system/autoware_version/src/autoware_version.cpp +++ b/system/autoware_version/src/autoware_version.cpp @@ -13,10 +13,8 @@ // limitations under the License. #include -#include #include #include -#include #include "rclcpp/rclcpp.hpp" #include "autoware_system_msgs/msg/autoware_version.hpp" @@ -42,23 +40,13 @@ class AutowareVersionNode : public rclcpp::Node } RCLCPP_INFO(get_logger(), "ROS_DISTRO=%s", message.ros_distro.c_str()); - // TODO(isamu-takagi): use transient_local after rosbrigde supports it publisher_ = create_publisher( - "autoware_version", rclcpp::QoS{1}); - - auto callback = [this, message] {publisher_->publish(message);}; - timer_ = std::make_shared>( - get_clock(), - std::chrono::seconds{1}, - std::move(callback), - get_node_base_interface()->get_context() - ); - get_node_timers_interface()->add_timer(timer_, nullptr); + "autoware_version", rclcpp::QoS{1}.transient_local()); + publisher_->publish(message); } private: rclcpp::Publisher::SharedPtr publisher_; - rclcpp::TimerBase::SharedPtr timer_; }; int main(int argc, char ** argv) From b9fa5f8446dd1b41c9245e203be473394df79f0a Mon Sep 17 00:00:00 2001 From: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Date: Sun, 15 Aug 2021 07:28:48 +0900 Subject: [PATCH 04/14] Fix -Wunused-parameter (#1836) * Fix -Wunused-parameter Signed-off-by: Kenji Miyake * Fix mistake Signed-off-by: Kenji Miyake * fix spell * Fix lint issues Signed-off-by: Kenji Miyake * Ignore flake8 warnings Signed-off-by: Kenji Miyake Co-authored-by: Hiroki OTA --- system/autoware_version/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/system/autoware_version/CMakeLists.txt b/system/autoware_version/CMakeLists.txt index 01f87f20db9e3..47f26b80ef9e9 100644 --- a/system/autoware_version/CMakeLists.txt +++ b/system/autoware_version/CMakeLists.txt @@ -9,7 +9,6 @@ endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) - add_compile_options(-Wno-unused-parameter) endif() find_package(ament_cmake_auto REQUIRED) From 2deeb00ccbdc358b4a215ffa9341d8e69bc1372f Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Wed, 20 Oct 2021 22:13:22 +0900 Subject: [PATCH 05/14] Add package version API (#2150) * Add package version API * Fix format * Fix message type --- system/autoware_version/CMakeLists.txt | 15 +---- system/autoware_version/package.xml | 5 +- system/autoware_version/script/print | 14 +++++ .../autoware_version/src/autoware_version.cpp | 58 ------------------- 4 files changed, 19 insertions(+), 73 deletions(-) create mode 100755 system/autoware_version/script/print delete mode 100644 system/autoware_version/src/autoware_version.cpp diff --git a/system/autoware_version/CMakeLists.txt b/system/autoware_version/CMakeLists.txt index 47f26b80ef9e9..9182a3b8bda20 100644 --- a/system/autoware_version/CMakeLists.txt +++ b/system/autoware_version/CMakeLists.txt @@ -1,21 +1,12 @@ cmake_minimum_required(VERSION 3.5) project(autoware_version) -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - find_package(ament_cmake_auto REQUIRED) ament_auto_find_build_dependencies() -ament_auto_add_executable(autoware_version - src/autoware_version.cpp +install(PROGRAMS + script/print + DESTINATION lib/${PROJECT_NAME} ) if(BUILD_TESTING) diff --git a/system/autoware_version/package.xml b/system/autoware_version/package.xml index e7825dfbf855f..6c19545a52419 100644 --- a/system/autoware_version/package.xml +++ b/system/autoware_version/package.xml @@ -4,13 +4,12 @@ autoware_version 0.0.0 - The autoware version package + The autoware_version package Takagi, Isamu Apache License 2.0 ament_cmake_auto - autoware_system_msgs - rclcpp + ament_lint_auto ament_lint_common diff --git a/system/autoware_version/script/print b/system/autoware_version/script/print new file mode 100755 index 0000000000000..165c639084d2e --- /dev/null +++ b/system/autoware_version/script/print @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +# TODO(Takagi, Isamu): this is a temporary script and may change in the future +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument('target', choices=['arch']) +parser.add_argument('format', choices=['full', 'type', 'version'], default='full', nargs='?') +args = parser.parse_args() +data = {'arch': {'type': 'tier4/proposal', 'version': '1.0.0'}} + +if args.format == 'full': + print('{type} {version}'.format(**data[args.target])) +else: + print(data[args.target][args.format]) diff --git a/system/autoware_version/src/autoware_version.cpp b/system/autoware_version/src/autoware_version.cpp deleted file mode 100644 index d31bf45ebd9da..0000000000000 --- a/system/autoware_version/src/autoware_version.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2021 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 -#include -#include -#include "rclcpp/rclcpp.hpp" -#include "autoware_system_msgs/msg/autoware_version.hpp" - -class AutowareVersionNode : public rclcpp::Node -{ -public: - AutowareVersionNode() - : Node("autoware_version_node") - { - autoware_system_msgs::msg::AutowareVersion message; - { - const char * ptr = std::getenv("ROS_VERSION"); - if (ptr) { - message.ros_version = std::atoi(ptr); - } - } - RCLCPP_INFO(get_logger(), "ROS_VERSION=%d", message.ros_version); - { - const char * ptr = std::getenv("ROS_DISTRO"); - if (ptr) { - message.ros_distro = ptr; - } - } - RCLCPP_INFO(get_logger(), "ROS_DISTRO=%s", message.ros_distro.c_str()); - - publisher_ = create_publisher( - "autoware_version", rclcpp::QoS{1}.transient_local()); - publisher_->publish(message); - } - -private: - rclcpp::Publisher::SharedPtr publisher_; -}; - -int main(int argc, char ** argv) -{ - rclcpp::init(argc, argv); - rclcpp::spin(std::make_shared()); - rclcpp::shutdown(); - return 0; -} From 3c66148384b383889ff843a4a68314c70b5bf444 Mon Sep 17 00:00:00 2001 From: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Date: Tue, 2 Nov 2021 21:49:19 +0900 Subject: [PATCH 06/14] Change formatter to clang-format and black (#2332) * Revert "Temporarily comment out pre-commit hooks" This reverts commit 748e9cdb145ce12f8b520bcbd97f5ff899fc28a3. * Replace ament_lint_common with autoware_lint_common Signed-off-by: Kenji Miyake * Remove ament_cmake_uncrustify and ament_clang_format Signed-off-by: Kenji Miyake * Apply Black Signed-off-by: Kenji Miyake * Apply clang-format Signed-off-by: Kenji Miyake * Fix build errors Signed-off-by: Kenji Miyake * Fix for cpplint * Fix include double quotes to angle brackets Signed-off-by: Kenji Miyake * Apply clang-format Signed-off-by: Kenji Miyake * Fix build errors Signed-off-by: Kenji Miyake --- system/autoware_version/package.xml | 2 +- system/autoware_version/script/print | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/system/autoware_version/package.xml b/system/autoware_version/package.xml index 6c19545a52419..f0ed975d24f56 100644 --- a/system/autoware_version/package.xml +++ b/system/autoware_version/package.xml @@ -11,7 +11,7 @@ ament_cmake_auto ament_lint_auto - ament_lint_common + autoware_lint_common ament_cmake diff --git a/system/autoware_version/script/print b/system/autoware_version/script/print index 165c639084d2e..31995dd9ddb13 100755 --- a/system/autoware_version/script/print +++ b/system/autoware_version/script/print @@ -3,12 +3,12 @@ import argparse parser = argparse.ArgumentParser() -parser.add_argument('target', choices=['arch']) -parser.add_argument('format', choices=['full', 'type', 'version'], default='full', nargs='?') +parser.add_argument("target", choices=["arch"]) +parser.add_argument("format", choices=["full", "type", "version"], default="full", nargs="?") args = parser.parse_args() -data = {'arch': {'type': 'tier4/proposal', 'version': '1.0.0'}} +data = {"arch": {"type": "tier4/proposal", "version": "1.0.0"}} -if args.format == 'full': - print('{type} {version}'.format(**data[args.target])) +if args.format == "full": + print("{type} {version}".format(**data[args.target])) else: print(data[args.target][args.format]) From 009df1cea1d3ba6b9c6ee73fb25ef787d197440b Mon Sep 17 00:00:00 2001 From: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Date: Thu, 4 Nov 2021 19:32:37 +0900 Subject: [PATCH 07/14] Add COLCON_IGNORE (#500) Signed-off-by: Kenji Miyake --- system/autoware_version/COLCON_IGNORE | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 system/autoware_version/COLCON_IGNORE diff --git a/system/autoware_version/COLCON_IGNORE b/system/autoware_version/COLCON_IGNORE new file mode 100644 index 0000000000000..e69de29bb2d1d From d285eba3e6548b4d5d22938b31b53c2bb8de69ca Mon Sep 17 00:00:00 2001 From: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com> Date: Mon, 8 Nov 2021 11:13:19 +0900 Subject: [PATCH 08/14] remove COLCON_IGNORE in autoware_version (#530) --- system/autoware_version/COLCON_IGNORE | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 system/autoware_version/COLCON_IGNORE diff --git a/system/autoware_version/COLCON_IGNORE b/system/autoware_version/COLCON_IGNORE deleted file mode 100644 index e69de29bb2d1d..0000000000000 From 6bf1e23b43f943db79f385d5d19aba80c5b8f9a8 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" <43976882+isamu-takagi@users.noreply.github.com> Date: Fri, 12 Nov 2021 18:41:07 +0900 Subject: [PATCH 09/14] Add readme of autoware_version (#612) --- system/autoware_version/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 system/autoware_version/README.md diff --git a/system/autoware_version/README.md b/system/autoware_version/README.md new file mode 100644 index 0000000000000..f7b2914336eab --- /dev/null +++ b/system/autoware_version/README.md @@ -0,0 +1,3 @@ +# autoware_version + +This package provides a command line tool to know the architecture version. This feature is temporary and will be removed when the interface is unified in the future. From 8673463539bc05e3a9a08b4d20b6948356f1c9d8 Mon Sep 17 00:00:00 2001 From: "tomoya.kimura" Date: Tue, 30 Nov 2021 14:12:40 +0900 Subject: [PATCH 10/14] change type --- system/autoware_version/script/print | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/autoware_version/script/print b/system/autoware_version/script/print index 31995dd9ddb13..7b796ab791b9b 100755 --- a/system/autoware_version/script/print +++ b/system/autoware_version/script/print @@ -6,7 +6,7 @@ parser = argparse.ArgumentParser() parser.add_argument("target", choices=["arch"]) parser.add_argument("format", choices=["full", "type", "version"], default="full", nargs="?") args = parser.parse_args() -data = {"arch": {"type": "tier4/proposal", "version": "1.0.0"}} +data = {"arch": {"type": "universe", "version": "1.0.0"}} if args.format == "full": print("{type} {version}".format(**data[args.target])) From d7e9cf639a60f3ca943cb817aa9aed87681631cc Mon Sep 17 00:00:00 2001 From: "tomoya.kimura" Date: Tue, 30 Nov 2021 14:17:27 +0900 Subject: [PATCH 11/14] add readme --- system/autoware_version/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/system/autoware_version/README.md b/system/autoware_version/README.md index f7b2914336eab..9967168526fa1 100644 --- a/system/autoware_version/README.md +++ b/system/autoware_version/README.md @@ -1,3 +1,9 @@ # autoware_version This package provides a command line tool to know the architecture version. This feature is temporary and will be removed when the interface is unified in the future. + +## How to use + +``` +ros2 run autoware_version print arch {full,type,version} +``` \ No newline at end of file From cace74d305959311d757de66bc5b1a413b95ae43 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 2 Dec 2021 04:58:59 +0000 Subject: [PATCH 12/14] ci(pre-commit): autofix --- system/autoware_version/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/autoware_version/README.md b/system/autoware_version/README.md index 9967168526fa1..63b0aba5337b5 100644 --- a/system/autoware_version/README.md +++ b/system/autoware_version/README.md @@ -6,4 +6,4 @@ This package provides a command line tool to know the architecture version. This ``` ros2 run autoware_version print arch {full,type,version} -``` \ No newline at end of file +``` From b7f0e9f7e03d35728602a1566fb26b1ad7ebdb0c Mon Sep 17 00:00:00 2001 From: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com> Date: Sun, 5 Dec 2021 19:03:08 +0900 Subject: [PATCH 13/14] Update system/autoware_version/README.md --- system/autoware_version/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/autoware_version/README.md b/system/autoware_version/README.md index 63b0aba5337b5..dff907dfc286c 100644 --- a/system/autoware_version/README.md +++ b/system/autoware_version/README.md @@ -4,6 +4,6 @@ This package provides a command line tool to know the architecture version. This ## How to use -``` +``` sh ros2 run autoware_version print arch {full,type,version} ``` From b9a4a98e2a5edcdd3d8a59e52b09ce7382419c93 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 5 Dec 2021 10:03:45 +0000 Subject: [PATCH 14/14] ci(pre-commit): autofix --- system/autoware_version/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/autoware_version/README.md b/system/autoware_version/README.md index dff907dfc286c..82e6760f64c14 100644 --- a/system/autoware_version/README.md +++ b/system/autoware_version/README.md @@ -4,6 +4,6 @@ This package provides a command line tool to know the architecture version. This ## How to use -``` sh +```sh ros2 run autoware_version print arch {full,type,version} ```