blob: 4ff8d128019eaf0a58abef91653684b233db481c [file] [log] [blame] [view]
Damien Martin-Guillerez43e3cd42015-09-08 21:39:30 +00001# [Bazel](http://bazel.io) ([Beta](http://bazel.io/roadmap.html#beta))
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
Anthony Bellissimoefa02e42015-04-28 17:06:00 +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
David Chen3f16b562015-07-23 15:04:50 +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.