Developer Overview

Local Development Environment

At the DaSCH, the principal development envionment is Apple macOS.

Each developer machine should have the following prerequisites installed:

  • Docker Desktop:
  • Homebrew:

Java Adoptopenjdk 11

To install, follow these steps:

$ brew tap AdoptOpenJDK/openjdk
$ brew cask install AdoptOpenJDK/openjdk/adoptopenjdk11

To pin the version of Java, please add this environment variable to you startup script (bashrc, etc.):

export JAVA_HOME=`/usr/libexec/java_home -v 11`

Bazel build tools

To install, follow these steps:

$ brew tap bazelbuild/tap
$ brew install bazelbuild/tap/bazel
$ brew upgrade bazelbuild/tap/bazel

Vizualize your Build

Add the following line to your ~/.bazelrc:

query --package_path %workspace%:[PATH TO BAZEL]/base_workspace # set the path to the bazel binary

Run bazel query inside your project directory, asking it to search for all dependencies of //:main (or however the label is to your target of interest):

$ bazel query 'deps(//:main)' --output graph >

This creates a file called, which is a text representation of the build graph. You can use dot (install with brew install graphviz) to create a png:

$ dot -Tpng < > graph.png


To install, follow these steps:

$ brew install python