Schemas of the Dynamic Simulation Environment (DSE) Core Platform.
L- docs Documentation (integrates with Hugo/Docsy).
L- schemas Schemas of the DSE Core Platform.
L- templates Templates used for building schema packages.
The Schemas are built using containerised toolchains. Those are available from the DSE C Library and can be built as follows:
$ git clone https://github.com/boschglobal/dse.clib.git
$ cd dse.clib
$ make docker
Alternatively, the latest Docker Images are available on ghcr.io and can be used as follows:
$ export FLATC_BUILDER_IMAGE=ghcr.io/boschglobal/dse-flatc-builder:main
$ export PYTHON_BUILDER_IMAGE=ghcr.io/boschglobal/dse-python-builder:main
# Get the repo
$ git clone https://github.com/boschglobal/dse.schemas.git
$ cd dse.schemas
# Optionally set builder images.
$ export FLATC_BUILDER_IMAGE=ghcr.io/boschglobal/dse-flatc-builder:main
$ export PYTHON_BUILDER_IMAGE=ghcr.io/boschglobal/dse-python-builder:main
# Build and package the schemas.
$ make
...
$ make dist
Distribution package files:
--------------------------
164K /git/boschglobal/dse.schemas/dist/dse-schemas.tar.gz
20K /git/boschglobal/dse.schemas/dist/python/dist/dse.schemas-0.0.2-py3-none-any.whl
12K /git/boschglobal/dse.schemas/dist/python/dist/dse.schemas-0.0.2.tar.gz
# Generate documentation based on schemas.
make generate
# Install Python package for local development.
make install
# Remove (clean) temporary build artifacts.
make clean
The generate make target requires some tools which may be installed as follows:
$ sudo apt install npm
# widdershins
$ git clone https://github.com/Mermade/widdershins.git
$ cd widdershins/
$ sudo -E npm install -g widdershins```
# swagger-cli
$ sudo -E npm install -g @apidevtools/swagger-cli
Schemas in this repository require:
- FlatBuffers v1.12.0 or v2.0.0 (or later).
- flatcc v0.6.0 (or later).
- msgpack-c v3.3.0 (or later).
Later versions may require testing.
Please refer to the CONTRIBUTING.md file.
Dynamic Simulation Environment Schemas is open-sourced under the Apache-2.0 license. See the LICENSE and NOTICE files for details.