blob: f643f93b7852716e4cd19c9337f37c15c24c17d5 [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
David Chen3f16b562015-07-23 15:04: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)
41 * For each feature, which level of [support](http://bazel.build/support.html) to expect.
Damien Martin-Guillerez5e239542016-11-07 15:41:20 +000042
43[![Build Status](http://ci.bazel.io/buildStatus/icon?job=bazel-tests)](http://ci.bazel.io/job/bazel-tests)