update pip install .copy manifest for developments
This commit is contained in:
@@ -1,13 +1,42 @@
|
||||
"""Setuptools entry point; bundle rules are read from pyproject.toml."""
|
||||
"""Setuptools entry point; bundle rules are read from pyproject.toml.
|
||||
|
||||
``dev_install`` bundle items (configs/sensors) are staged into the ``orisys``
|
||||
package during build so ``pip install .`` places them at
|
||||
``site-packages/orisys/...`` (importlib / configs resolvers), not under
|
||||
``sys.prefix/orisys`` via deprecated ``data_files``.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from setuptools import setup
|
||||
from setuptools.command.build_py import build_py as _build_py
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parent
|
||||
sys.path.insert(0, str(REPO_ROOT / "build" / "common"))
|
||||
|
||||
from pyproject_utils import bundle_data_files
|
||||
from pyproject_utils import stage_dev_bundle_into # noqa: E402
|
||||
|
||||
setup(data_files=bundle_data_files(REPO_ROOT))
|
||||
|
||||
class build_py(_build_py):
|
||||
def run(self) -> None:
|
||||
super().run()
|
||||
# After pure modules are copied, stage configs/sensors into build/lib/orisys.
|
||||
pkg_dir = Path(self.build_lib) / "orisys"
|
||||
pkg_dir.mkdir(parents=True, exist_ok=True)
|
||||
stage_dev_bundle_into(REPO_ROOT, pkg_dir)
|
||||
|
||||
|
||||
setup(
|
||||
cmdclass={"build_py": build_py},
|
||||
# Declared so wheels record the staged files; actual copy happens in build_py.
|
||||
package_data={
|
||||
"orisys": [
|
||||
"configs/*.json",
|
||||
"sensors/**/*",
|
||||
],
|
||||
},
|
||||
include_package_data=True,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user