1"""
2Out-of-tree setup.py for board-inspector and its associated libraries tweaked
3to perform the required actions at setup time.
4
5This enables the usage of dh_python3 even in absence of an upstream setup.py.
6"""
7
8import os
9from setuptools import find_namespace_packages
10from setuptools import setup
11
12setup(
13    name="acrn_board_inspector",
14    version=os.environ["ACRNVERSION"],
15    description="ACRN Board Inspector",
16    long_description="acrn-board-inspector will collect all board related info to generate a board configuration file for ACRN.",
17    url="https://projectacrn.org/",
18    license="BSD-3-Clause",
19    # add additional namespace acrn_board_inspector
20    packages=[
21        "acrn_board_inspector",
22        "acrn_board_inspector.acpiparser",
23        "acrn_board_inspector.acpiparser.aml",
24        "acrn_board_inspector.cpuparser",
25        "acrn_board_inspector.extractors",
26        "acrn_board_inspector.inspectorlib",
27        "acrn_board_inspector.legacy",
28        "acrn_board_inspector.memmapparser",
29        "acrn_board_inspector.pcieparser",
30        "acrn_board_inspector.schema",
31        "acrn_board_inspector.smbiosparser",
32    ],
33    package_dir={
34        "acrn_board_inspector": "../../misc/config_tools/board_inspector",
35        "acrn_board_inspector.acpiparser": "../../misc/config_tools/board_inspector/acpiparser",
36        "acrn_board_inspector.acpiparser.aml": "../../misc/config_tools/board_inspector/acpiparser/aml",
37        "acrn_board_inspector.cpuparser": "../../misc/config_tools/board_inspector/cpuparser",
38        "acrn_board_inspector.extractors": "../../misc/config_tools/board_inspector/extractors",
39        "acrn_board_inspector.inspectorlib": "../../misc/config_tools/board_inspector/inspectorlib",
40        "acrn_board_inspector.legacy": "../../misc/config_tools/board_inspector/legacy",
41        "acrn_board_inspector.memmapparser": "../../misc/config_tools/board_inspector/memmapparser",
42        "acrn_board_inspector.pcieparser": "../../misc/config_tools/board_inspector/pcieparser",
43        "acrn_board_inspector.schema": "../../misc/config_tools/board_inspector/schema",
44        "acrn_board_inspector.smbiosparser": "../../misc/config_tools/board_inspector/smbiosparser",
45    },
46    package_data={
47        "acrn_board_inspector.schema": ["*", "checks/*"],
48    },
49
50    # use namespace packages from board inspector
51    #packages=find_namespace_packages(
52    #    where="../../misc/config_tools/board_inspector",
53    #),
54    #package_dir={"": "../../misc/config_tools/board_inspector"},
55    ## add the standalone board_inspector.py file
56    #py_modules=["board_inspector"],
57
58    install_requires=[
59        "lxml",
60        "xmlschema"
61    ],
62    # use wrapper script to call board_inspector.py
63    scripts=["acrn-board-inspector"],
64)
65