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.
Bazel on Mac OS X requires:
The Xcode command line tools. Xcode can be downloaded from the Apple Developer Site.
MacPorts or Homebrew for installing required packages.
An installation of JDK 7.
For objc_*
and ios_*
rule support, you must have Xcode 6.1 or later with iOS SDK 8.1 installed on your system.
To build Bazel on Mac OS X:
$ 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.