config_tools: packaging config tool scripts for easier import

The next-generation ACRN configurator will embed a Python interpreter built
in WebAssembly (WASM) for executing Python scripts for manipulating
scenario schemas and validating user data. It is quite tedious to
separately import multiple modules there due to the restriction of that
Python environment. The recommended approach is to package those
modules (e.g. as a *.wic file) so that all modules can be imported in one
shot.

This patch adds the files needed to package the scripts. The package is
solely used for the configurator to import and not intended to be used by
end users for any purpose.

v1 -> v2:

  * Fix the license header of __init__.py
  * Move patterns of ignored files to the top-level .gitignore

Tracked-On: #6691
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Reviewed-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
This commit is contained in:
Junjie Mao 2022-03-10 19:23:04 +08:00 committed by acrnsi-robot
parent 8e7a1ac7a0
commit d776e4ad47
7 changed files with 52 additions and 7 deletions

2
.gitignore vendored
View File

@ -6,3 +6,5 @@ build
*.warnings *.warnings
*.pyc *.pyc
/offline-tools/ /offline-tools/
*.egg-info
/misc/config_tools/dist

1
misc/config_tools/LICENSE Symbolic link
View File

@ -0,0 +1 @@
../../LICENSE

View File

@ -1,7 +0,0 @@
folder structure
board_inspector : Get target board information under native Linux environment and generate board_info XML.
board_config : Parse board_info XML and scenario XML to generate board related configuration files under misc/acrn-config/xmls/board-xmls/ folder.
scenario_config : Parse board_info XML and scenario XML to generate scenario based VM configuration files under misc/acrn-config/xmls/config-xmls/$(BOARD)/ folder.
launch_config : Parse board_info XML, scenario XML and devicemodel param XML to generate launch script for post-launched vm under misc/acrn-config/xmls/config-xmls/$(BOARD)/ folder.
library : The folder stores shared software modules or libs for acrn-config offline tool.

View File

@ -0,0 +1,10 @@
# Supporting libraries of ACRN configuration toolset
This package contains the libraries supporting ACRN configuration toolset, including:
* The manipulators and validators of scenario schemas or XMLs
* The generator of guest ACPI tables
The main objective of this package is to ease the import of the supporting libraries in the ACRN configurator which uses
a Python interpreter built in WebAssembly (WASM). This package is thus NOT intended to be used by users; invoke the
Python scripts directly if needed.

View File

@ -0,0 +1,6 @@
[build-system]
requires = [
"setuptools>=42",
"wheel",
]
build-backend = "setuptools.build_meta"

View File

@ -0,0 +1,8 @@
# Copyright (C) 2022 Intel Corporation.
#
# SPDX-License-Identifier: BSD-3-Clause
#
# The __init__.py for packaging.
import sys, os
sys.path.append(os.path.dirname(os.path.realpath(__file__)))

View File

@ -0,0 +1,25 @@
[metadata]
name = acrn-config-tools
version = 3.0
author = Intel
author_email = acrn-dev@lists.projectacrn.org
description = Supporting libraries of ACRN configuration toolset
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/projectacrn/acrn-hypervisor
project_urls =
Bug Tracker = https://github.com/projectacrn/acrn-hypervisor/issues
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: BSD-3-Clause License
Operating System :: OS Independent
Private :: Do Not Upload
[options]
package_dir =
= .
packages = find:
python_requires = >=3.6
[options.packages.find]
where = .