2025年6月25日 星期三

setup.py for package 範例!

 from setuptools import setup

import os

from glob import glob


package_name = 'ros_maze_house_world'


setup(

    name=package_name,

    version='0.0.0',

    packages=[package_name],  # 若你有放 __init__.py,可使用套件化結構

    data_files=[

        # 安裝 launch 檔

        (os.path.join('share', package_name, 'launch'), glob('launch/*.launch.py')),


        # 安裝 world 檔案

        (os.path.join('share', package_name, 'worlds'), glob('worlds/*.world')),


        # 安裝模型的 config 與 sdf 檔案

        (os.path.join('share', package_name, 'models/maze'), glob('models/maze/*.sdf') + glob('models/maze/*.config')),


        # 安裝 STL 模型

        (os.path.join('share', package_name, 'models/maze/meshes'), glob('models/maze/meshes/*.stl')),


        # 安裝 ROS 2 metadata

        ('share/ament_index/resource_index/packages', ['resource/' + package_name]),

         (os.path.join('share', package_name), ['package.xml']),

    ],

    install_requires=['setuptools'],

    zip_safe=True,

    maintainer='Your Name',

    maintainer_email='your@email.com',

    description='ROS 2 package for maze and house world simulation in Gazebo',

    license='MIT',

    tests_require=['pytest'],

    entry_points={

        'console_scripts': [

            # 可加入 ros2 可執行 script,例如:

            # 'some_node = ros_maze_house_world.some_node:main'

        ],

    },

)


沒有留言:

張貼留言