Supported platforms:
Java:
Clone the Bazel repo from GitHub:
$ cd $HOME $ git clone https://github.com/google/bazel.git
To build Bazel on Ubuntu:
Ubuntu Utopic (14.10) and Trusty (14.04 LTS). To install OpenJDK 7:
$ sudo apt-get install openjdk-7-jdk openjdk-7-source
$ sudo apt-get install pkg-config zip g++ zlib1g-dev
$ cd bazel $ ./compile.sh
If this fails to find a correct Java version, then try to set the JAVA_HOME environment variable.
Find the Java bin directory using readlink -f $(which javac) and use javac -version to verify that you have the right JDK version (1.7+). Then set the JAVA_HOME environment variable to the bin directory parent.
For example, if the path is /usr/lib/jvm/jdk1.7.0/bin/javac, set the JAVA_HOME variable to /usr/lib/jvm/jdk1.7.0:
$ export JAVA_HOME=/usr/lib/jvm/jdk1.7.0
You can also add this line to your ~/.bashrc file.
To build Bazel on Mac OS X:
JDK7 can be downloaded from Oracle's JDK Page. Look for “Mac OS X x64” under “Java SE Development Kit”. This will download a DMG image with an install wizard.
Xcode can be downloaded from the Apple Developer Site, which will redirect to the App Store.
For objc_* and ios_* rule support, you must have Xcode 6.1 or later with iOS SDK 8.1 installed on your system.
Once XCode is installed you can trigger the license signature with the following command:
$ sudo gcc --version
While not required to compile Bazel, a package manager like MacPorts or Homebrew is recommended to help install other dependencies like protobuffer support.
Homebrew can be installed via a 1-line script from brew.sh.
Macports is available from macports.org.
$ cd bazel $ ./compile.sh
Then you can run Bazel:
$ ./output/bazel help
The Bazel executable is located at output/bazel in the Bazel home directory. It's a good idea to add this path to your default paths, as follows:
$ export PATH="$PATH:$HOME/bazel/output"
You can also add this command to your ~/.bashrc file.
Bazel comes with a bash completion script. To install it:
bazel build //scripts:bazel-complete.bash.bazel-bin/scripts/bazel-complete.bash to your completion folder (/etc/bash_completion.d directory under Ubuntu). If you don't have a completion folder, you can copy it wherever suits you and simply insert source /path/to/bazel-complete.bash in your ~/.bashrc file (under OS X, put it in your ~/.bash_profile file).Bazel also comes with a zsh completion script. To install it:
Add this script to a directory on your $fpath:
fpath[1,0]=~/.zsh/completion/ mkdir -p ~/.zsh/completion/ cp scripts/zsh_completion/_bazel ~/.zsh/completion
Optionally, add the following to your .zshrc.
# This way the completion script does not have to parse Bazel's options # repeatedly. The directory in cache-path must be created manually. zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache
For more information, see Getting started.