Setting Up the Development Environment#
General Setup#
The basic steps for setup the development environment and building the source file are described in the readme.md of the score repository.
This includes:
on your linux operating system Bazelisk is available
the score repository is cloned to your hard drive
Additional assistance for working with Bazel is provided by following tools:
Buildifier#
Buildifier is a tool which can format .bzl files. Additional info and installation instructions are provided on github
In short:
download binary
renamed binary to buildifier
place it somewhere in the system path e.g.
~/.local/bin (no root required)
/usr/local/bin
Autocompletion in the Shell#
How to activate autocompletion in bash and zsh is described here
Basically following steps need to be performed:
Navigate to project workspace folder
Determine bazel version
bazel --version
Build and install the bash completion:
Change to any temporary directory and execute
git clone https://github.com/bazelbuild/bazel.git cd bazel git checkout <VERSION_OF_BAZEL> USE_BAZEL_VERSION=<VERSION_OF_BAZEL> bazel build //scripts:bash_completion sudo cp bazel-bin/scripts/bazel-complete.bash /etc/bash_completion.d/ cd .. rm -rf bazel
Graphviz/Dot Installation#
Graphviz/Dot is mandatory for local development (outside the devcointainer). To install it on a Linux system using apt, execute the following command:
sudo apt update && sudo apt install graphviz
This ensures that all necessary dependencies for generating diagrams are available during development.
IDE Support#
Currently as a goal for this project the IDE shall provide support for most of the languages which are used in this project. For this Project VS Code is selected as the primary IDE. This means that only VS code will be checked in case of breaking changes!
Other IDE integrations are provided on a community best effort basis.
Python Environment#
The tooling environment, which includes all essential python packages for docs can be built in a virtual python environment which is located in <workspace_root/.venv_dovs>. It needs be build first:
bazel run //docs:ide_support
Later the different IDEs shall be configured to use the tools which were installed into this virtual environment.