blob: 3d3f3d051541f38127679d55577960618c58eb49 [file] [log] [blame] [view]
Damien Martin-Guillerez4885eef2016-10-28 12:02:50 +00001# [Bazel](http://bazel.build) ([Beta](http://bazel.build/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
Damien Martin-Guillerez4885eef2016-10-28 12:02:50 +000024Find more background about Bazel in our [FAQ](http://bazel.build/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
Damien Martin-Guillerez4885eef2016-10-28 12:02:50 +000028 * How to [install Bazel](http://bazel.build/docs/install.html)
29 * How to [get started using Bazel](http://bazel.build/docs/getting-started.html)
30 * The Bazel command line is documented in the [user manual](http://bazel.build/docs/bazel-user-manual.html)
31 * The rule reference documentation is in the [build encyclopedia](http://bazel.build/docs/be/overview.html)
32 * How to [use the query command](http://bazel.build/docs/query.html)
33 * How to [extend Bazel](http://bazel.build/docs/skylark/index.html)
34 * The test environment is described on the page [writing tests](http://bazel.build/docs/test-encyclopedia.html)
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010035
Laszlo Csomor7f6c3252016-12-05 12:38:50 +000036## About the Bazel project
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010037
Damien Martin-Guillerez4885eef2016-10-28 12:02:50 +000038 * How to [contribute to Bazel](http://bazel.build/contributing.html)
39 * Our [governance plan](http://bazel.build/governance.html)
40 * Future plans are in the [roadmap](http://bazel.build/roadmap.html)
Laszlo Csomor7f6c3252016-12-05 12:38:50 +000041 * For each feature, which level of [support](http://bazel.build/support.html) to expect
42 * [Current Bazel Release Candidate](https://github.com/bazelbuild/bazel/issues?utf8=%E2%9C%93&q=is%3Aopen%20label%3A%22Release%20blocker%22%20label%3A%22type%3A%20process%22)
Damien Martin-Guillerez5e239542016-11-07 15:41:20 +000043
44[![Build Status](http://ci.bazel.io/buildStatus/icon?job=bazel-tests)](http://ci.bazel.io/job/bazel-tests)