Files
lightweight-cobot/src/iiwa_bringup/setup.py
T

59 lines
2.1 KiB
Python

import os
from setuptools import setup
package_name = "iiwa_bringup"
# Собираем список пакетов: основной + вложенные (если они есть).
packages = [package_name]
# Если есть подпапка utils с __init__.py — зарегистрируем её как iiwa_bringup.utils
if os.path.isdir("utils") and os.path.isfile(os.path.join("utils", "__init__.py")):
packages.append(f"{package_name}.utils")
# Соответствие имени пакета -> директория на диске.
# iiwa_bringup -> текущая папка '.'
# iiwa_bringup.utils -> ./utils
package_dir = {
package_name: ".",
}
if f"{package_name}.utils" in packages:
package_dir[f"{package_name}.utils"] = os.path.join(".", "utils")
def data_files_from_tree(src_dir: str, dst_root: str) -> list:
entries = []
if not os.path.isdir(src_dir):
return entries
EXCLUDE_DIRS = {".git", "__pycache__", ".pytest_cache", ".idea"}
EXCLUDES = {".DS_Store", "Thumbs.db"}
for root, dirs, files in os.walk(src_dir):
dirs[:] = [d for d in dirs if d not in EXCLUDE_DIRS]
file_list = [os.path.join(root, f) for f in files if f not in EXCLUDES]
if not file_list:
continue
rel = os.path.relpath(root, src_dir)
dst_dir = os.path.join(dst_root, rel) if rel != "." else dst_root
entries.append((dst_dir, file_list))
return entries
data_files = [(f"share/{package_name}", ["package.xml"])]
data_files += data_files_from_tree("launch", f"share/{package_name}/launch")
data_files += data_files_from_tree("config", f"share/{package_name}/config")
data_files += data_files_from_tree("resource", f"share/{package_name}/resource")
setup(
name=package_name,
version="0.0.1",
packages=packages,
package_dir=package_dir,
include_package_data=True,
data_files=data_files,
install_requires=["setuptools"],
zip_safe=False,
maintainer="Grabar Daniil",
maintainer_email="grabardm@ml-dev.ru",
description="iiwa bringup package",
license="Apache-2.0",
)