Build
This section covers several build aspects of the HeimdallSword project.
Required Debian Packages
The following packages are required:
Dependency |
Version |
|---|---|
debhelper |
12.10ubuntu1 |
dh-python |
4.20191017ubuntu7 |
make |
4.2.1 |
python3-all |
3.8.2-0ubuntu2 |
python3-venv |
3.8.2-0ubuntu2 |
python3-setuptools |
45.2.0-1 |
Copy and paste the following command on your terminal:
sudo apt install debhelper dh-python make python3-all python3-venv python3-setuptools
Required PyPi Packages
The following PyPi packages are required:
Dependency |
Version |
Purpose |
|---|---|---|
build |
0.7.0 |
Used to build Python distribution package |
stdeb |
0.10.0 |
Used to build Debian source package |
Copy and paste the following command on your terminal:
pip install build stdeb
Optional PyPi Packages
The following PyPi packages are optional to install:
Dependency |
Version |
Purpose |
|---|---|---|
flake8 |
4.0.1 |
Used for checking code style |
sphinx_rtd_theme |
4.4.0 |
Used for generating documentation |
Copy and paste the following command on your terminal:
pip install flake8 sphinx_rtd_theme
Build Targets
Once all of the required dependencies have been installed, HeimdallSword provides several build targets that make it easier to build and deploy.
To view the build targets supported, run the command make help as such:
$ make help
The following build targets are available:
build-pip: Generates a PIP distributions packages (ie: *.whl and *.tar.gz)
build-deb: Generates a Debian Linux distribution package (ie: *.deb)
install-pip: Builds and installs PIP distribution package
install-deb: Builds and installs Debian distribution package
uninstall-pip: Uninstalls PIP distribution package
uninstall-deb: Uninstalls Debian distribution package
html: Builds the HTML version of the docs
clean: Removes any automatically generated files