aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-25 16:45:20 +0100
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-25 16:45:20 +0100
commitd08b27fa9701fecfdb69e1b0d1ac2459efc2129b (patch)
tree5d50963026239ca5aebfb47ea5b8db7e814e57c8 /README.md
Update from Google.
-- MOE_MIGRATED_REVID=85702957
Diffstat (limited to 'README.md')
-rw-r--r--README.md96
1 files changed, 96 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000..2bdb47fcb0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,96 @@
+*Bazel is very much a work in progress. We'd love if you tried it out, but there
+are many rough edges. Please feel free to
+[give us feedback](https://groups.google.com/forum/#!forum/bazel-discuss)!*
+
+# Bazel
+
+*{Fast, Correct} - Choose two*
+
+Bazel is an build tool that builds code quickly and reliably.
+It executes as few build steps as possible by tracking dependencies and outputs,
+controls the build environment to keep builds hermetic, and uses its
+knowledge of dependencies to parallelize builds.
+
+This README file contains instructions for building and running Bazel.
+
+## System Requirements
+
+Supported platforms:
+
+* Ubuntu Linux
+* Mac OS X (experimental only)
+
+Java:
+
+* Java JDK 8 or later
+
+## Getting Bazel
+
+1. Clone the Bazel repo from GitHub:
+
+ $ cd $HOME
+ $ git clone https://github.com/google/bazel/
+
+## Building Bazel
+
+### Building Bazel on Ubuntu
+
+To build Bazel on Ubuntu:
+
+1. Install required package:
+
+ $ sudo apt-get install libarchive-dev
+
+2. Build Bazel:
+
+ $ cd bazel
+ $ ./compile.sh
+
+### Building Bazel on OS X (experimental)
+
+Using Bazel on Mac OS X requires:
+
+* Xcode and Xcode command line tools
+* MacPorts or Homebrew for installing required packages
+
+To build Bazel on Mac OS X:
+
+1. Install required packages:
+
+ $ port install protobuf-cpp libarchive
+
+ or
+
+ $ brew install protobuf libarchive
+
+2. Build Bazel:
+
+ $ cd bazel
+ $ ./compile.sh
+
+## Running Bazel
+
+The Bazel executable is located at `<bazel_home>/output/bazel`.
+
+You must run Bazel from within a _workspace directory_. Bazel provides a default
+workspace directory with sample `BUILD` files and source code in
+`<bazel_home>/base_workspace`. The default workspace contains files and
+directories that must be present in order for Bazel to work. If you want to
+build from source outside the default workspace directory, copy the entire
+`base_workspace` directory to the new location before adding your `BUILD` and
+source files.
+
+Build a sample Java application:
+
+ $ cp -R $HOME/bazel/base_workspace $HOME/my_workspace
+ $ cd $HOME/my_workspace
+ $ $HOME/bazel/output/bazel build //examples/java:hello-world
+
+_Note: on OS X, you must specify \-\-cpu=darwin to build Java programs (e.g.,
+bazel build --cpu=darwin //examples/java:hello-world)._
+
+The build output is located in `$HOME/my_workspace/bazel-bin/examples/java/`.
+
+Run the sample application:
+
+ $ $HOME/my_workspace/bazel-bin/examples/java/hello-world