From d3b07a409e5b828a6f7079eccd93e5df7080353b Mon Sep 17 00:00:00 2001 From: Paul-Winpenny <plw1g21@soton.ac.uk> Date: Thu, 14 Nov 2024 15:15:03 +0000 Subject: [PATCH] added the ros2 pacakge --- BLE/__pycache__/advertisement.cpython-312.pyc | Bin 0 -> 7768 bytes BLE/__pycache__/bletools.cpython-312.pyc | Bin 0 -> 3080 bytes BLE/__pycache__/service.cpython-312.pyc | Bin 0 -> 17908 bytes directory_structure.txt | 0 ros2/src/robobin/package.xml | 21 +++++++++++++++ ros2/src/robobin/resource/robobin | 0 ros2/src/robobin/robobin/__init__.py | 0 ros2/src/robobin/setup.cfg | 4 +++ ros2/src/robobin/setup.py | 25 ++++++++++++++++++ ros2/src/robobin/test/test_copyright.py | 25 ++++++++++++++++++ ros2/src/robobin/test/test_flake8.py | 25 ++++++++++++++++++ ros2/src/robobin/test/test_pep257.py | 23 ++++++++++++++++ 12 files changed, 123 insertions(+) create mode 100644 BLE/__pycache__/advertisement.cpython-312.pyc create mode 100644 BLE/__pycache__/bletools.cpython-312.pyc create mode 100644 BLE/__pycache__/service.cpython-312.pyc create mode 100644 directory_structure.txt create mode 100644 ros2/src/robobin/package.xml create mode 100644 ros2/src/robobin/resource/robobin create mode 100644 ros2/src/robobin/robobin/__init__.py create mode 100644 ros2/src/robobin/setup.cfg create mode 100644 ros2/src/robobin/setup.py create mode 100644 ros2/src/robobin/test/test_copyright.py create mode 100644 ros2/src/robobin/test/test_flake8.py create mode 100644 ros2/src/robobin/test/test_pep257.py diff --git a/BLE/__pycache__/advertisement.cpython-312.pyc b/BLE/__pycache__/advertisement.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..44dc164fdb254d860bc692e839fa17bb1e99b369 GIT binary patch literal 7768 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 Yj{<kXABXolM@yZfe}LNobZLwI31_6j9RL6T literal 0 HcmV?d00001 diff --git a/BLE/__pycache__/bletools.cpython-312.pyc b/BLE/__pycache__/bletools.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3c527fca05475050db290f0d75cfb13de7c78ee3 GIT binary patch literal 3080 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 literal 0 HcmV?d00001 diff --git a/BLE/__pycache__/service.cpython-312.pyc b/BLE/__pycache__/service.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97e3480102e8a88656591fd3aa4fcf3a2ec65b0c GIT binary patch literal 17908 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 literal 0 HcmV?d00001 diff --git a/directory_structure.txt b/directory_structure.txt new file mode 100644 index 00000000..e69de29b diff --git a/ros2/src/robobin/package.xml b/ros2/src/robobin/package.xml new file mode 100644 index 00000000..fd694d6d --- /dev/null +++ b/ros2/src/robobin/package.xml @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> +<package format="3"> + <name>robobin</name> + <version>0.0.0</version> + <description>TODO: Package description</description> + <maintainer email="plw1g21@soton.ac.uk">paulw</maintainer> + <license>TODO: License declaration</license> + + <depend>rclpy</depend> + <depend>std_msgs</depend> + + <test_depend>ament_copyright</test_depend> + <test_depend>ament_flake8</test_depend> + <test_depend>ament_pep257</test_depend> + <test_depend>python3-pytest</test_depend> + + <export> + <build_type>ament_python</build_type> + </export> +</package> diff --git a/ros2/src/robobin/resource/robobin b/ros2/src/robobin/resource/robobin new file mode 100644 index 00000000..e69de29b diff --git a/ros2/src/robobin/robobin/__init__.py b/ros2/src/robobin/robobin/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ros2/src/robobin/setup.cfg b/ros2/src/robobin/setup.cfg new file mode 100644 index 00000000..0e133e21 --- /dev/null +++ b/ros2/src/robobin/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/robobin +[install] +install_scripts=$base/lib/robobin diff --git a/ros2/src/robobin/setup.py b/ros2/src/robobin/setup.py new file mode 100644 index 00000000..d24076af --- /dev/null +++ b/ros2/src/robobin/setup.py @@ -0,0 +1,25 @@ +from setuptools import find_packages, setup + +package_name = 'robobin' + +setup( + name=package_name, + version='0.0.0', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', + ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='paulw', + maintainer_email='plw1g21@soton.ac.uk', + description='TODO: Package description', + license='TODO: License declaration', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + ], + }, +) diff --git a/ros2/src/robobin/test/test_copyright.py b/ros2/src/robobin/test/test_copyright.py new file mode 100644 index 00000000..97a39196 --- /dev/null +++ b/ros2/src/robobin/test/test_copyright.py @@ -0,0 +1,25 @@ +# Copyright 2015 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. + +from ament_copyright.main import main +import pytest + + +# Remove the `skip` decorator once the source file(s) have a copyright header +@pytest.mark.skip(reason='No copyright header has been placed in the generated source file.') +@pytest.mark.copyright +@pytest.mark.linter +def test_copyright(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found errors' diff --git a/ros2/src/robobin/test/test_flake8.py b/ros2/src/robobin/test/test_flake8.py new file mode 100644 index 00000000..27ee1078 --- /dev/null +++ b/ros2/src/robobin/test/test_flake8.py @@ -0,0 +1,25 @@ +# Copyright 2017 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. + +from ament_flake8.main import main_with_errors +import pytest + + +@pytest.mark.flake8 +@pytest.mark.linter +def test_flake8(): + rc, errors = main_with_errors(argv=[]) + assert rc == 0, \ + 'Found %d code style errors / warnings:\n' % len(errors) + \ + '\n'.join(errors) diff --git a/ros2/src/robobin/test/test_pep257.py b/ros2/src/robobin/test/test_pep257.py new file mode 100644 index 00000000..b234a384 --- /dev/null +++ b/ros2/src/robobin/test/test_pep257.py @@ -0,0 +1,23 @@ +# Copyright 2015 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. + +from ament_pep257.main import main +import pytest + + +@pytest.mark.linter +@pytest.mark.pep257 +def test_pep257(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found code style errors / warnings' -- GitLab