At least 16 GB of RAM is required to build ONOS with Bazel
ONOS development and deployment is only supported on Linux and Mac OS Operating systems for x86_64 architectures.
Python2 and Python3
Both Python2 and Python3 are required for some build tools
Git and git-review
Git and git-review will be used to pull and push code from/to the ONOS repository, so they need to be installed. To streamline the code review process, it is highly recommended that contributors install
git-review on Mac
ONOS is a large project comprising of multiple relatively independent modules that lend themselves to be built in parallel, resulting in much faster. This is why the project chose to build via Bazel.
Bazelisk is a tool that manages multiple versions of Bazel. Different versions of ONOS have been verified on different versions of Bazel (as defined in their .bazelversion file). Using Bazel will ensure that you will build against the version of Bazel suitable for the release you are building on.
Developers should install Bazelisk(1.4.0 or greater at the time of writing) before they can build the project themselves.
Bazelisk should be downloaded and installed as a drop in replacement for the "bazel" command. It is recommended not to download Bazel directly yourself - let Bazelisk get the right version for you!
On Linux use
Alternatively, on macOS, Bazelisk can be installed via the Brew package manager:
Calling "bazel version" causes Bazelisk to download Bazel and runs the "version" command on it. Bazelisk acts transparently and any command line arguments will be passed straight through to Bazel.
Behind the scenes, Bazelisk caches downloaded Bazel versions in ~/.cache/bazelisk/
Versions of Bazel can be preloaded using
$USE_BAZEL_VERSION=1.2.1 bazel version