acrn-hypervisor/misc/config_tools/configurator
Junjie Mao 4d952ce007 config_tools: conduct full validation on save
This patch makes the configurator validate both syntactically and
semantically the resulting scenario XML everytime users save their
configurations. This allows the validation to catch all errors and report
status properly.

While a full validation is conducted, the syntactic errors are not shown
at the top of the forms in the same way as the semantic ones. This is
because syntactic rules are already built into the JSON schema and
will be warned real-time under the corresponding widgets. There is
no need to duplicate such errors. At the same time, the messages of
syntactic errors are generated by xmlschema which may not look
friendly to end users who do not have knowledge about the internal
structures of scenario XMLs.

Tracked-On: #6691
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-10 18:40:54 +08:00
..
packages config_tools: conduct full validation on save 2022-06-10 18:40:54 +08:00
pyodide config_tools: conduct full validation on save 2022-06-10 18:40:54 +08:00
__init__.py config_tools: Add vue-json-schema-form and advanced custom component for IVSHMEM field 2022-05-08 15:52:28 +08:00
.gitignore config_tools: refactor configurator for web page cache issue 2022-04-25 18:13:12 +08:00
package.json config_tools: Add vue-json-schema-form and advanced custom component for IVSHMEM field 2022-05-08 15:52:28 +08:00
README.md config_tools: merge python packages list for configurator 2022-06-01 16:51:52 +08:00
requirements.txt config_tools: merge python packages list for configurator 2022-06-01 16:51:52 +08:00
tsconfig.json config_tools: refactor configurator for web page cache issue 2022-04-25 18:13:12 +08:00
yarn.lock config_tools: add custom CAT widget 2022-05-22 20:10:24 +08:00

ACRN Configurator

This version is based on Tauri, WIP.

Features

Support Platforms

  • Linux (.deb, AppImage)
  • Windows 7,8,10 (.exe, .msi)

Setting Up

1. Install System Dependencies

Please follow this guide to install system dependencies (including yarn).

Linux

In Linux, make sure your already install git, python3(version>=3.6) and python3-venv library,

$ sudo apt install git python3 python3-venv
# check python3 version
$ python3 --version
Python 3.8.10

Windows

Chocolatey is a package manager tool for windows, you can use choco install xsltproc to install xsltproc package, which provide xmllint command.

Make sure your system have python which version>3.6, you can check it by following command line:

$ python --version
Python 3.8.10

If your system doesn't have git and python, you can install it by choco install git python3.

2. Clone Project And Install Project Dependencies.

Linux

git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor/misc/config_tools/configurator
python3 -m pip install -r requirements.txt
yarn

Windows

Similar to Linux, in the Windows environment, you need replace the command line python3 with python.

3. How To Build

Linux

Run this command in the acrn-hypervisor directory.

make configurator

Windows

Run following command in the 'acrn-hypervisor' directory.

cd misc\config_tools
python scenario_config/schema_slicer.py
python scenario_config/jsonschema/convert.py
xmllint --xinclude schema/datachecks.xsd > schema/allchecks.xsd

python -m build
del configurator/packages/configurator/thirdLib/acrn_config_tools-3.0-py3-none-any.whl

cd configurator
python packages/configurator/thirdLib/manager.py install
yarn
yarn build

4. How To Run

Linux

Run this command in the acrn-hypervisor directory.

sudo apt install ./build/acrn-configurator_*.deb
acrn-configurator

Windows

You can find installer under the misc/config_tools/configurator/src-tauri/target/release/bundle/msi directory, the installer in the folder.