-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
69 lines (61 loc) · 2.68 KB
/
setup.py
File metadata and controls
69 lines (61 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from setuptools import find_packages, setup
from glob import glob
import os
# Comandos para compilar o workspace:
# Entrar na raíz do workspace: cd ~/ros2_ws
# Compila o workspace: colcon build --symlink-install --packages-select prm
# Não esqueça de dar source no workpace para atualizar os novos pacotes no terminal
# se você configurou o source no .bashrc, você pode fechar e abrir novamente o
# terminal após compilar o workspce.
def package_dir_tree(target_dir, base_install_path):
"""
Recursively collects all files in target_dir and maps them
to their corresponding install paths under base_install_path.
"""
entries = {}
for filepath in glob(os.path.join(target_dir, '**'), recursive=True):
if os.path.isfile(filepath):
relpath = os.path.relpath(filepath, start=target_dir)
install_path = os.path.join(base_install_path, os.path.dirname(relpath))
entries.setdefault(install_path, []).append(filepath)
return list(entries.items())
package_name = 'prm'
data_files = [
# Requerido pelo ROS2
('share/ament_index/resource_index/packages', [os.path.join('resource', package_name)]),
('share/' + package_name, ['package.xml']),
# Adicionado para atender as demandas do nosso pacote!
(f'share/{package_name}/launch', glob('launch/*.py')),
(f'share/{package_name}/description', glob('description/*.urdf.xacro')),
(f'share/{package_name}/rviz', glob('rviz/*.rviz')),
(f'share/{package_name}/config', glob('config/*.yaml')),
]
# Adiciona todos os arquivos de modelos da pasta models/ recursivamente (se existir)
if os.path.isdir('models'):
data_files.extend(package_dir_tree('models', f'share/{package_name}/models'))
# Adiciona todos os arquivos de modelos de mundo da pasta world/ recursivamente (se existir)
if os.path.isdir('world'):
data_files.extend(package_dir_tree('world', f'share/{package_name}/world'))
setup(
name=package_name,
version='0.0.0',
packages=find_packages(exclude=['test']),
data_files=data_files,
install_requires=['setuptools'],
zip_safe=True,
maintainer='Matheus Machado',
maintainer_email='matheus.m.santos@icmc.usp.br',
description='Pacote da disciplina SSC0712: Programação de Robôs Móveis',
license='Apache-2.0',
tests_require=['pytest'],
entry_points={
'console_scripts': [
'tartaruga = prm.controle_tartaruga:main',
'ground_truth_odometry = prm.ground_truth_odometry:main',
'controle_robo = prm.controle_robo:main',
'robo_mapper = prm.robo_mapper:main',
'flag_servo = prm.flag_servo:main',
'mission_manager = prm.mission_manager:main',
],
},
)