From a535f68ada289298d4cff928d0256c9bb040d177 Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Wed, 14 Nov 2018 11:58:57 -0800 Subject: [PATCH 1/3] create rosidl_adapter package --- rosidl_adapter/CMakeLists.txt | 15 +++++++++++++++ rosidl_adapter/package.xml | 22 ++++++++++++++++++++++ rosidl_adapter/rosidl_adapter/__init__.py | 0 3 files changed, 37 insertions(+) create mode 100644 rosidl_adapter/CMakeLists.txt create mode 100644 rosidl_adapter/package.xml create mode 100644 rosidl_adapter/rosidl_adapter/__init__.py diff --git a/rosidl_adapter/CMakeLists.txt b/rosidl_adapter/CMakeLists.txt new file mode 100644 index 000000000..a45e40482 --- /dev/null +++ b/rosidl_adapter/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.5) + +project(rosidl_adapter NONE) + +find_package(ament_cmake REQUIRED) +find_package(ament_cmake_python REQUIRED) + +ament_python_install_package(${PROJECT_NAME}) + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + ament_lint_auto_find_test_dependencies() +endif() + +ament_package() diff --git a/rosidl_adapter/package.xml b/rosidl_adapter/package.xml new file mode 100644 index 000000000..bed971128 --- /dev/null +++ b/rosidl_adapter/package.xml @@ -0,0 +1,22 @@ + + + + rosidl_adapter + 0.5.1 + + API an scripts to parse .msg/.srv/.action files and convert them to .idl. + + Dirk Thomas + Apache License 2.0 + + ament_cmake + + python3-empy + + ament_lint_common + ament_lint_auto + + + ament_cmake + + diff --git a/rosidl_adapter/rosidl_adapter/__init__.py b/rosidl_adapter/rosidl_adapter/__init__.py new file mode 100644 index 000000000..e69de29bb From 2f54cc0aa8d39b97d3f8ef9357bed7f407decdb8 Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Wed, 14 Nov 2018 12:00:17 -0800 Subject: [PATCH 2/3] move parser module and test from rosidl_parser to rosidl_adapter --- .../__init__.py => rosidl_adapter/rosidl_adapter/parser.py | 0 {rosidl_parser => rosidl_adapter}/test/parse_msg_files.py | 0 {rosidl_parser => rosidl_adapter}/test/test_base_type.py | 0 {rosidl_parser => rosidl_adapter}/test/test_constant.py | 0 {rosidl_parser => rosidl_adapter}/test/test_field.py | 0 .../test/test_message_specification.py | 0 .../test/test_parse_action_string.py | 0 {rosidl_parser => rosidl_adapter}/test/test_parse_message_file.py | 0 .../test/test_parse_message_string.py | 0 .../test/test_parse_primitive_value_string.py | 0 .../test/test_parse_service_string.py | 0 {rosidl_parser => rosidl_adapter}/test/test_parse_value_string.py | 0 {rosidl_parser => rosidl_adapter}/test/test_type.py | 0 {rosidl_parser => rosidl_adapter}/test/test_valid_names.py | 0 .../test/test_validate_field_types.py | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename rosidl_parser/rosidl_parser/__init__.py => rosidl_adapter/rosidl_adapter/parser.py (100%) rename {rosidl_parser => rosidl_adapter}/test/parse_msg_files.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_base_type.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_constant.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_field.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_message_specification.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_parse_action_string.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_parse_message_file.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_parse_message_string.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_parse_primitive_value_string.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_parse_service_string.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_parse_value_string.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_type.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_valid_names.py (100%) rename {rosidl_parser => rosidl_adapter}/test/test_validate_field_types.py (100%) diff --git a/rosidl_parser/rosidl_parser/__init__.py b/rosidl_adapter/rosidl_adapter/parser.py similarity index 100% rename from rosidl_parser/rosidl_parser/__init__.py rename to rosidl_adapter/rosidl_adapter/parser.py diff --git a/rosidl_parser/test/parse_msg_files.py b/rosidl_adapter/test/parse_msg_files.py similarity index 100% rename from rosidl_parser/test/parse_msg_files.py rename to rosidl_adapter/test/parse_msg_files.py diff --git a/rosidl_parser/test/test_base_type.py b/rosidl_adapter/test/test_base_type.py similarity index 100% rename from rosidl_parser/test/test_base_type.py rename to rosidl_adapter/test/test_base_type.py diff --git a/rosidl_parser/test/test_constant.py b/rosidl_adapter/test/test_constant.py similarity index 100% rename from rosidl_parser/test/test_constant.py rename to rosidl_adapter/test/test_constant.py diff --git a/rosidl_parser/test/test_field.py b/rosidl_adapter/test/test_field.py similarity index 100% rename from rosidl_parser/test/test_field.py rename to rosidl_adapter/test/test_field.py diff --git a/rosidl_parser/test/test_message_specification.py b/rosidl_adapter/test/test_message_specification.py similarity index 100% rename from rosidl_parser/test/test_message_specification.py rename to rosidl_adapter/test/test_message_specification.py diff --git a/rosidl_parser/test/test_parse_action_string.py b/rosidl_adapter/test/test_parse_action_string.py similarity index 100% rename from rosidl_parser/test/test_parse_action_string.py rename to rosidl_adapter/test/test_parse_action_string.py diff --git a/rosidl_parser/test/test_parse_message_file.py b/rosidl_adapter/test/test_parse_message_file.py similarity index 100% rename from rosidl_parser/test/test_parse_message_file.py rename to rosidl_adapter/test/test_parse_message_file.py diff --git a/rosidl_parser/test/test_parse_message_string.py b/rosidl_adapter/test/test_parse_message_string.py similarity index 100% rename from rosidl_parser/test/test_parse_message_string.py rename to rosidl_adapter/test/test_parse_message_string.py diff --git a/rosidl_parser/test/test_parse_primitive_value_string.py b/rosidl_adapter/test/test_parse_primitive_value_string.py similarity index 100% rename from rosidl_parser/test/test_parse_primitive_value_string.py rename to rosidl_adapter/test/test_parse_primitive_value_string.py diff --git a/rosidl_parser/test/test_parse_service_string.py b/rosidl_adapter/test/test_parse_service_string.py similarity index 100% rename from rosidl_parser/test/test_parse_service_string.py rename to rosidl_adapter/test/test_parse_service_string.py diff --git a/rosidl_parser/test/test_parse_value_string.py b/rosidl_adapter/test/test_parse_value_string.py similarity index 100% rename from rosidl_parser/test/test_parse_value_string.py rename to rosidl_adapter/test/test_parse_value_string.py diff --git a/rosidl_parser/test/test_type.py b/rosidl_adapter/test/test_type.py similarity index 100% rename from rosidl_parser/test/test_type.py rename to rosidl_adapter/test/test_type.py diff --git a/rosidl_parser/test/test_valid_names.py b/rosidl_adapter/test/test_valid_names.py similarity index 100% rename from rosidl_parser/test/test_valid_names.py rename to rosidl_adapter/test/test_valid_names.py diff --git a/rosidl_parser/test/test_validate_field_types.py b/rosidl_adapter/test/test_validate_field_types.py similarity index 100% rename from rosidl_parser/test/test_validate_field_types.py rename to rosidl_adapter/test/test_validate_field_types.py From 4f4d457249d919b19ca4d2e422e788cbb513f900 Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Wed, 14 Nov 2018 12:26:10 -0800 Subject: [PATCH 3/3] updates to match moved Python module and tests --- rosidl_adapter/CMakeLists.txt | 5 +++++ rosidl_adapter/package.xml | 1 + rosidl_adapter/test/parse_msg_files.py | 4 ++-- rosidl_adapter/test/test_base_type.py | 4 ++-- rosidl_adapter/test/test_constant.py | 2 +- rosidl_adapter/test/test_field.py | 6 +++--- .../test/test_message_specification.py | 8 ++++---- rosidl_adapter/test/test_parse_action_string.py | 6 +++--- rosidl_adapter/test/test_parse_message_file.py | 2 +- rosidl_adapter/test/test_parse_message_string.py | 6 +++--- .../test/test_parse_primitive_value_string.py | 6 +++--- rosidl_adapter/test/test_parse_service_string.py | 6 +++--- rosidl_adapter/test/test_parse_value_string.py | 6 +++--- rosidl_adapter/test/test_type.py | 2 +- rosidl_adapter/test/test_valid_names.py | 10 +++++----- rosidl_adapter/test/test_validate_field_types.py | 12 ++++++------ rosidl_parser/CMakeLists.txt | 5 ----- rosidl_parser/package.xml | 4 ++-- rosidl_parser/rosidl_parser/__init__.py | 16 ++++++++++++++++ 19 files changed, 64 insertions(+), 47 deletions(-) create mode 100644 rosidl_parser/rosidl_parser/__init__.py diff --git a/rosidl_adapter/CMakeLists.txt b/rosidl_adapter/CMakeLists.txt index a45e40482..3e8539cab 100644 --- a/rosidl_adapter/CMakeLists.txt +++ b/rosidl_adapter/CMakeLists.txt @@ -13,3 +13,8 @@ if(BUILD_TESTING) endif() ament_package() + +if(BUILD_TESTING) + find_package(ament_cmake_pytest REQUIRED) + ament_add_pytest_test(pytest test) +endif() diff --git a/rosidl_adapter/package.xml b/rosidl_adapter/package.xml index bed971128..ef2a73db4 100644 --- a/rosidl_adapter/package.xml +++ b/rosidl_adapter/package.xml @@ -13,6 +13,7 @@ python3-empy + ament_cmake_pytest ament_lint_common ament_lint_auto diff --git a/rosidl_adapter/test/parse_msg_files.py b/rosidl_adapter/test/parse_msg_files.py index e8d555c04..9dbc31a4c 100755 --- a/rosidl_adapter/test/parse_msg_files.py +++ b/rosidl_adapter/test/parse_msg_files.py @@ -18,7 +18,7 @@ import os import sys -import rosidl_parser +from rosidl_adapter.parser import parse_message_file def main(argv=sys.argv[1:]): @@ -36,7 +36,7 @@ def main(argv=sys.argv[1:]): for filename in files: pkg_name = os.path.basename(os.path.dirname(os.path.dirname(filename))) try: - rosidl_parser.parse_message_file(pkg_name, filename) + parse_message_file(pkg_name, filename) print(pkg_name, filename) except Exception as e: print(' ', pkg_name, filename, str(e)) diff --git a/rosidl_adapter/test/test_base_type.py b/rosidl_adapter/test/test_base_type.py index 2244a9f57..0e79efa92 100644 --- a/rosidl_adapter/test/test_base_type.py +++ b/rosidl_adapter/test/test_base_type.py @@ -14,8 +14,8 @@ import pytest -from rosidl_parser import BaseType -from rosidl_parser import InvalidResourceName +from rosidl_adapter.parser import BaseType +from rosidl_adapter.parser import InvalidResourceName def test_base_type_constructor(): diff --git a/rosidl_adapter/test/test_constant.py b/rosidl_adapter/test/test_constant.py index 17f6fd249..6bbfef846 100644 --- a/rosidl_adapter/test/test_constant.py +++ b/rosidl_adapter/test/test_constant.py @@ -14,7 +14,7 @@ import pytest -from rosidl_parser import Constant +from rosidl_adapter.parser import Constant def test_constant_constructor(): diff --git a/rosidl_adapter/test/test_field.py b/rosidl_adapter/test/test_field.py index 22f9c9d8c..291cb42a4 100644 --- a/rosidl_adapter/test/test_field.py +++ b/rosidl_adapter/test/test_field.py @@ -14,9 +14,9 @@ import pytest -from rosidl_parser import Field -from rosidl_parser import InvalidValue -from rosidl_parser import Type +from rosidl_adapter.parser import Field +from rosidl_adapter.parser import InvalidValue +from rosidl_adapter.parser import Type def test_field_constructor(): diff --git a/rosidl_adapter/test/test_message_specification.py b/rosidl_adapter/test/test_message_specification.py index 44c8d34ad..4ce925266 100644 --- a/rosidl_adapter/test/test_message_specification.py +++ b/rosidl_adapter/test/test_message_specification.py @@ -14,10 +14,10 @@ import pytest -from rosidl_parser import Constant -from rosidl_parser import Field -from rosidl_parser import MessageSpecification -from rosidl_parser import Type +from rosidl_adapter.parser import Constant +from rosidl_adapter.parser import Field +from rosidl_adapter.parser import MessageSpecification +from rosidl_adapter.parser import Type def test_message_specification_constructor(): diff --git a/rosidl_adapter/test/test_parse_action_string.py b/rosidl_adapter/test/test_parse_action_string.py index 4f592902e..0d81b9730 100644 --- a/rosidl_adapter/test/test_parse_action_string.py +++ b/rosidl_adapter/test/test_parse_action_string.py @@ -14,9 +14,9 @@ import pytest -from rosidl_parser import ImplicitFieldCollision -from rosidl_parser import InvalidActionSpecification -from rosidl_parser import parse_action_string +from rosidl_adapter.parser import ImplicitFieldCollision +from rosidl_adapter.parser import InvalidActionSpecification +from rosidl_adapter.parser import parse_action_string def test_invalid_action_specification(): diff --git a/rosidl_adapter/test/test_parse_message_file.py b/rosidl_adapter/test/test_parse_message_file.py index 2c3077ac8..aa19b9344 100644 --- a/rosidl_adapter/test/test_parse_message_file.py +++ b/rosidl_adapter/test/test_parse_message_file.py @@ -18,7 +18,7 @@ import pytest -from rosidl_parser import parse_message_file +from rosidl_adapter.parser import parse_message_file def test_parse_message_file(): diff --git a/rosidl_adapter/test/test_parse_message_string.py b/rosidl_adapter/test/test_parse_message_string.py index 2ab79430a..59eb676f2 100644 --- a/rosidl_adapter/test/test_parse_message_string.py +++ b/rosidl_adapter/test/test_parse_message_string.py @@ -14,9 +14,9 @@ import pytest -from rosidl_parser import InvalidFieldDefinition -from rosidl_parser import InvalidResourceName -from rosidl_parser import parse_message_string +from rosidl_adapter.parser import InvalidFieldDefinition +from rosidl_adapter.parser import InvalidResourceName +from rosidl_adapter.parser import parse_message_string def test_parse_message_string(): diff --git a/rosidl_adapter/test/test_parse_primitive_value_string.py b/rosidl_adapter/test/test_parse_primitive_value_string.py index 88a14f45a..3051de1cd 100644 --- a/rosidl_adapter/test/test_parse_primitive_value_string.py +++ b/rosidl_adapter/test/test_parse_primitive_value_string.py @@ -14,9 +14,9 @@ import pytest -from rosidl_parser import InvalidValue -from rosidl_parser import parse_primitive_value_string -from rosidl_parser import Type +from rosidl_adapter.parser import InvalidValue +from rosidl_adapter.parser import parse_primitive_value_string +from rosidl_adapter.parser import Type def test_parse_primitive_value_string_invalid(): diff --git a/rosidl_adapter/test/test_parse_service_string.py b/rosidl_adapter/test/test_parse_service_string.py index d52e0b8e2..5da60e7f6 100644 --- a/rosidl_adapter/test/test_parse_service_string.py +++ b/rosidl_adapter/test/test_parse_service_string.py @@ -14,9 +14,9 @@ import pytest -from rosidl_parser import InvalidFieldDefinition -from rosidl_parser import InvalidServiceSpecification -from rosidl_parser import parse_service_string +from rosidl_adapter.parser import InvalidFieldDefinition +from rosidl_adapter.parser import InvalidServiceSpecification +from rosidl_adapter.parser import parse_service_string def test_parse_service_string(): diff --git a/rosidl_adapter/test/test_parse_value_string.py b/rosidl_adapter/test/test_parse_value_string.py index 6a915bb47..b3b2695c4 100644 --- a/rosidl_adapter/test/test_parse_value_string.py +++ b/rosidl_adapter/test/test_parse_value_string.py @@ -14,9 +14,9 @@ import pytest -from rosidl_parser import InvalidValue -from rosidl_parser import parse_value_string -from rosidl_parser import Type +from rosidl_adapter.parser import InvalidValue +from rosidl_adapter.parser import parse_value_string +from rosidl_adapter.parser import Type def test_parse_value_string_primitive(): diff --git a/rosidl_adapter/test/test_type.py b/rosidl_adapter/test/test_type.py index 710ce9bb0..1900f48c8 100644 --- a/rosidl_adapter/test/test_type.py +++ b/rosidl_adapter/test/test_type.py @@ -14,7 +14,7 @@ import pytest -from rosidl_parser import Type +from rosidl_adapter.parser import Type def test_type_constructor(): diff --git a/rosidl_adapter/test/test_valid_names.py b/rosidl_adapter/test/test_valid_names.py index f07c6ebac..0e449ead5 100644 --- a/rosidl_adapter/test/test_valid_names.py +++ b/rosidl_adapter/test/test_valid_names.py @@ -14,11 +14,11 @@ import pytest -from rosidl_parser import InvalidResourceName -from rosidl_parser import is_valid_constant_name -from rosidl_parser import is_valid_field_name -from rosidl_parser import is_valid_message_name -from rosidl_parser import is_valid_package_name +from rosidl_adapter.parser import InvalidResourceName +from rosidl_adapter.parser import is_valid_constant_name +from rosidl_adapter.parser import is_valid_field_name +from rosidl_adapter.parser import is_valid_message_name +from rosidl_adapter.parser import is_valid_package_name def test_is_valid_package_name(): diff --git a/rosidl_adapter/test/test_validate_field_types.py b/rosidl_adapter/test/test_validate_field_types.py index d9fadb461..3db4a91de 100644 --- a/rosidl_adapter/test/test_validate_field_types.py +++ b/rosidl_adapter/test/test_validate_field_types.py @@ -14,12 +14,12 @@ import pytest -from rosidl_parser import BaseType -from rosidl_parser import Field -from rosidl_parser import MessageSpecification -from rosidl_parser import Type -from rosidl_parser import UnknownMessageType -from rosidl_parser import validate_field_types +from rosidl_adapter.parser import BaseType +from rosidl_adapter.parser import Field +from rosidl_adapter.parser import MessageSpecification +from rosidl_adapter.parser import Type +from rosidl_adapter.parser import UnknownMessageType +from rosidl_adapter.parser import validate_field_types def test_validate_field_types(): diff --git a/rosidl_parser/CMakeLists.txt b/rosidl_parser/CMakeLists.txt index a44ea40ff..d357696e4 100644 --- a/rosidl_parser/CMakeLists.txt +++ b/rosidl_parser/CMakeLists.txt @@ -13,8 +13,3 @@ if(BUILD_TESTING) endif() ament_package() - -if(BUILD_TESTING) - find_package(ament_cmake_pytest REQUIRED) - ament_add_pytest_test(pytest test) -endif() diff --git a/rosidl_parser/package.xml b/rosidl_parser/package.xml index 6962ab3f1..ceb6474cc 100644 --- a/rosidl_parser/package.xml +++ b/rosidl_parser/package.xml @@ -9,10 +9,10 @@ ament_cmake - ament_cmake_pytest + rosidl_adapter + ament_lint_auto ament_lint_common - python3-pytest ament_cmake diff --git a/rosidl_parser/rosidl_parser/__init__.py b/rosidl_parser/rosidl_parser/__init__.py new file mode 100644 index 000000000..b14501704 --- /dev/null +++ b/rosidl_parser/rosidl_parser/__init__.py @@ -0,0 +1,16 @@ +# Copyright 2018 Open Source Robotics Foundation, 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. + +# TODO(dirk-thomas) only for backward compatibilty +from rosidl_adapter.parser import * # noqa