blob: 597089e07aff0517b2f380dec2197134bd97660a [file] [log] [blame] [view]
Nathan Harmatab8934212015-04-06 20:39:22 +00001# [Bazel](http://bazel.io) ([Alpha](http://bazel.io/roadmap.html#alpha))
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01002
3*{Fast, Correct} - Choose two*
4
Googler5fba6192015-03-17 22:12:05 +00005Bazel is a build tool that builds code quickly and reliably. It is used to build
6the majority of Google's software, and thus it has been designed to handle
Googlerf3469012015-03-18 15:33:20 +00007build problems present in Google's development environment, including:
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01008
Googler5fba6192015-03-17 22:12:05 +00009* **A massive, shared code repository, in which all software is built from
10source.** Bazel has been built for speed, using both caching and parallelism
Googlerf3469012015-03-18 15:33:20 +000011to achieve this. Bazel is critical to Google's ability to continue
Googler5fba6192015-03-17 22:12:05 +000012to scale its software development practices as the company grows.
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010013
Googlerc9a9f4c2015-03-24 15:55:18 +000014* **An emphasis on automated testing and releases.** Bazel has
Googler5fba6192015-03-17 22:12:05 +000015been built for correctness and reproducibility, meaning that a build performed
16on a continuous build machine or in a release pipeline will generate
Googlerf3469012015-03-18 15:33:20 +000017bitwise-identical outputs to those generated on a developer's machine.
Googler5fba6192015-03-17 22:12:05 +000018
Googlerf3469012015-03-18 15:33:20 +000019* **Language and platform diversity.** Bazel's architecture is general enough to
Googler5fba6192015-03-17 22:12:05 +000020support many different programming languages within Google, and can be
21used to build both client and server software targeting multiple
22architectures from the same underlying codebase.
23
Laszlo Csomor51707da2015-04-13 14:31:27 +000024Find more background about Bazel in our [FAQ](http://bazel.io/FAQ.html).
Googler5fba6192015-03-17 22:12:05 +000025
Googlere7bfc7e2015-03-18 22:03:53 +000026## Getting Started
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010027
Tom Henniganaae65e02015-03-25 08:47:28 +000028 * How to [install Bazel](http://bazel.io/docs/install.html)
29 * How to [get started using Bazel](http://bazel.io/docs/getting-started.html)
30 * The Bazel command line is documented in the [user manual](http://bazel.io/docs/bazel-user-manual.html)
31 * The rule reference documentation is in the [build encyclopedia](http://bazel.io/docs/build-encyclopedia.html)
32 * How to [use the query command](http://bazel.io/docs/query.html)
33 * How to [extend Bazel](http://bazel.io/docs/skylark/index.html)
34 * The test environment is described in the [test encyclopedia](http://bazel.io/docs/test-encyclopedia.html)
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010035
Han-Wen Nienhuys7923a482015-03-13 17:37:32 +000036* About the Bazel project:
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010037
Phil Bordelonab30ea42015-04-03 13:57:01 +000038 * How to [contribute to Bazel](http://bazel.io/contributing.html)
39 * Our [governance plan](http://bazel.io/governance.html)
40 * Future plans are in the [roadmap](http://bazel.io/roadmap.html)
41 * For each feature, which level of [support](http://bazel.io/support.html) to expect.
Kristina Chodorowef455a62015-04-10 17:27:48 +000042
43[![Build Status](https://travis-ci.org/google/bazel.svg?branch=master)](https://travis-ci.org/google/bazel)