Add basic package for launch integration

This commit is contained in:
Christophe Bedard 2019-06-17 09:27:51 +02:00
commit a859bb6aa6
7 changed files with 105 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*~
*.pyc

22
package.xml Normal file
View file

@ -0,0 +1,22 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2">
<name>tracetools_launch</name>
<version>0.0.1</version>
<description>Launch integration for tracing</description>
<maintainer email="fixed-term.christophe.bourquebedard@de.bosch.com">Christophe Bedard</maintainer>
<license>TODO</license>
<author email="fixed-term.christophe.bourquebedard@de.bosch.com">Christophe Bedard</author>
<depend>launch</depend>
<depend>launch_ros</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>

4
setup.cfg Normal file
View file

@ -0,0 +1,4 @@
[develop]
script-dir=$base/lib/tracetools_launch
[install]
install-scripts=$base/lib/tracetools_launch

23
setup.py Normal file
View file

@ -0,0 +1,23 @@
from setuptools import find_packages
from setuptools import setup
package_name = 'tracetools_launch'
setup(
name=package_name,
version='0.0.1',
packages=find_packages(exclude=['test']),
data_files=[
('share/' + package_name, ['package.xml']),
],
install_requires=['setuptools'],
maintainer='Christophe Bedard',
maintainer_email='fixed-term.christophe.bourquebedard@de.bosch.com',
author='Christophe Bedard',
author_email='fixed-term.christophe.bourquebedard@de.bosch.com',
# url='',
keywords=['ROS'],
description='Launch integration for tracing',
license='TODO',
tests_require=['pytest'],
)

View file

View file

@ -0,0 +1,24 @@
from typing import List
from typing import Optional
from typing import Text
from launch.action import Action
from launch_context import LaunchContext
from launch_description_entity import LaunchDescriptionEntity
class Destroy(Action):
"""
Action for launch that destroys a tracing session.
It finalizes and destroys a tracing session that was setup with the Trace action.
"""
def __init__(self, session_name: str, **kwargs) -> None:
"""Constructor."""
super().__init__(**kwargs)
self.__session_name = session_name
def execute(self, context: LaunchContext) -> Optional[List[Action]]:
pass

View file

@ -0,0 +1,29 @@
from typing import List
from typing import Optional
from typing import Text
from launch.action import Action
from launch_context import LaunchContext
from launch_description_entity import LaunchDescriptionEntity
class Trace(Action):
"""
Tracing action for launch.
Sets up and enables tracing through a launch file description.
"""
def __init__(self, *,
session_name: str,
base_path: str,
events_ust: List[str],
events_kernel: List[str],
**kwargs) -> None:
"""Constructor."""
super().__init__(**kwargs)
def execute(self, context: LaunchContext) -> Optional[List[Action]]:
# TODO
pass