# Bazel Documentation: 9.0

## 9.0

### About Bazel

#### Why Bazel?

- [Intro to Bazel](https://bazel.build/versions/9.0.0/about/intro.md)
- [Why Bazel?](https://bazel.build/versions/9.0.0/about/why.md)
- [Bazel Vision](https://bazel.build/versions/9.0.0/about/vision.md)
- [FAQ](https://bazel.build/versions/9.0.0/about/faq.md)

#### Build system basics

- [Build Basics](https://bazel.build/versions/9.0.0/basics/index.md)
- [Why a Build System?](https://bazel.build/versions/9.0.0/basics/build-systems.md)
- [Task-Based Build Systems](https://bazel.build/versions/9.0.0/basics/task-based-builds.md)
- [Artifact-Based Build Systems](https://bazel.build/versions/9.0.0/basics/artifact-based-builds.md)
- [Distributed Builds](https://bazel.build/versions/9.0.0/basics/distributed-builds.md)
- [Dependency Management](https://bazel.build/versions/9.0.0/basics/dependencies.md)
- [Hermeticity](https://bazel.build/versions/9.0.0/basics/hermeticity.md)

### Getting started

#### Install

- [Installing Bazel](https://bazel.build/versions/9.0.0/install/index.md)
- [Installing / Updating Bazel using Bazelisk](https://bazel.build/versions/9.0.0/install/bazelisk.md)
- [Installing Bazel on macOS](https://bazel.build/versions/9.0.0/install/os-x.md)
- [Installing Bazel on Windows](https://bazel.build/versions/9.0.0/install/windows.md)
- [Installing Bazel on Ubuntu](https://bazel.build/versions/9.0.0/install/ubuntu.md)
- [Installing Bazel on openSUSE Tumbleweed & Leap](https://bazel.build/versions/9.0.0/install/suse.md)
- [Getting Started with Bazel Docker Container](https://bazel.build/versions/9.0.0/install/docker-container.md)
- [Compiling Bazel from Source](https://bazel.build/versions/9.0.0/install/compile-source.md)
- [Command-Line Completion](https://bazel.build/versions/9.0.0/install/completion.md)
- [Integrating Bazel with IDEs](https://bazel.build/versions/9.0.0/install/ide.md)

#### First build tutorials

- [Bazel Tutorial: Build a C++ Project](https://bazel.build/versions/9.0.0/start/cpp.md)
- [Bazel Tutorial: Build a Java Project](https://bazel.build/versions/9.0.0/start/java.md)
- [Bazel Tutorial: Build an Android App](https://bazel.build/versions/9.0.0/start/android-app.md)
- [Bazel Tutorial: Build an iOS App](https://bazel.build/versions/9.0.0/start/ios-app.md)

#### Concepts

- [Repositories, workspaces, packages, and targets](https://bazel.build/versions/9.0.0/concepts/build-ref.md)
- [Labels](https://bazel.build/versions/9.0.0/concepts/labels.md)
- [BUILD files](https://bazel.build/versions/9.0.0/concepts/build-files.md)
- [Dependencies](https://bazel.build/versions/9.0.0/concepts/dependencies.md)
- [Visibility](https://bazel.build/versions/9.0.0/concepts/visibility.md)
- [Migrating to Platforms](https://bazel.build/versions/9.0.0/concepts/platforms.md)

### User guide

#### Releases

- [Release Model](https://bazel.build/versions/9.0.0/release/index.md)
- [Rolling Releases](https://bazel.build/versions/9.0.0/release/rolling.md)
- [Backward Compatibility](https://bazel.build/versions/9.0.0/release/backward-compatibility.md)
- [Rule Compatibility](https://bazel.build/versions/9.0.0/release/rule-compatibility.md)

#### Basics

- [BUILD Style Guide](https://bazel.build/versions/9.0.0/build/style-guide.md)
- [Sharing Variables](https://bazel.build/versions/9.0.0/build/share-variables.md)
- [Recommended Rules](https://bazel.build/versions/9.0.0/community/recommended-rules.md)
- [Build programs with Bazel](https://bazel.build/versions/9.0.0/run/build.md)

#### Advanced

- [Configurable Build Attributes](https://bazel.build/versions/9.0.0/configure/attributes.md)
- [Integrating with C++ Rules](https://bazel.build/versions/9.0.0/configure/integrate-cpp.md)
- [Code coverage with Bazel](https://bazel.build/versions/9.0.0/configure/coverage.md)
- [Best Practices](https://bazel.build/versions/9.0.0/configure/best-practices.md)
- [Using Bazel on Windows](https://bazel.build/versions/9.0.0/configure/windows.md)
- [Extracting build performance metrics](https://bazel.build/versions/9.0.0/advanced/performance/build-performance-metrics.md)
- [Breaking down build performance](https://bazel.build/versions/9.0.0/advanced/performance/build-performance-breakdown.md)
- [JSON Trace Profile](https://bazel.build/versions/9.0.0/advanced/performance/json-trace-profile.md)
- [Optimize Memory](https://bazel.build/versions/9.0.0/advanced/performance/memory.md)
- [Optimize Iteration Speed](https://bazel.build/versions/9.0.0/advanced/performance/iteration-speed.md)

#### Remote Execution

- [Remote Execution Overview](https://bazel.build/versions/9.0.0/remote/rbe.md)
- [Adapting Bazel Rules for Remote Execution](https://bazel.build/versions/9.0.0/remote/rules.md)
- [Configuring Bazel CI to Test Rules for Remote Execution](https://bazel.build/versions/9.0.0/remote/ci.md)
- [Dynamic Execution](https://bazel.build/versions/9.0.0/remote/dynamic.md)
- [Remote Caching](https://bazel.build/versions/9.0.0/remote/caching.md)
- [Troubleshooting Bazel Remote Execution with Docker Sandbox](https://bazel.build/versions/9.0.0/remote/sandbox.md)
- [Finding Non-Hermetic Behavior in WORKSPACE Rules](https://bazel.build/versions/9.0.0/remote/workspace.md)
- [Debugging Remote Cache Hits for Remote Execution](https://bazel.build/versions/9.0.0/remote/cache-remote.md)
- [Debugging Remote Cache Hits for Local Execution](https://bazel.build/versions/9.0.0/remote/cache-local.md)
- [Output Directory Layout](https://bazel.build/versions/9.0.0/remote/output-directories.md)
- [Persistent Workers](https://bazel.build/versions/9.0.0/remote/persistent.md)
- [Multiplex Workers (Experimental Feature)](https://bazel.build/versions/9.0.0/remote/multiplex.md)
- [Creating Persistent Workers](https://bazel.build/versions/9.0.0/remote/creating.md)
- [Build Event Protocol](https://bazel.build/versions/9.0.0/remote/bep.md)
- [Build Event Protocol Examples](https://bazel.build/versions/9.0.0/remote/bep-examples.md)
- [Build Event Protocol Glossary](https://bazel.build/versions/9.0.0/remote/bep-glossary.md)

#### Tutorials

- [Common C++ Build Use Cases](https://bazel.build/versions/9.0.0/tutorials/cpp-use-cases.md)
- [Bazel Tutorial: Configure C++ Toolchains](https://bazel.build/versions/9.0.0/tutorials/ccp-toolchain-config.md)
- [Review the dependency graph](https://bazel.build/versions/9.0.0/tutorials/cpp-dependency.md)
- [Use labels to reference targets](https://bazel.build/versions/9.0.0/tutorials/cpp-labels.md)

#### Migrate

- [Migrating to Bazel](https://bazel.build/versions/9.0.0/migrate/index.md)
- [Migrating from Maven to Bazel](https://bazel.build/versions/9.0.0/migrate/maven.md)
- [Migrating from Xcode to Bazel](https://bazel.build/versions/9.0.0/migrate/xcode.md)

### Reference

#### Build encyclopedia

- [Bazel BUILD Encyclopedia of Functions](https://bazel.build/versions/9.0.0/reference/be/overview.md)
- [Common definitions](https://bazel.build/versions/9.0.0/reference/be/common-definitions.md)
- [Make Variables](https://bazel.build/versions/9.0.0/reference/be/make-variables.md)
- [Functions](https://bazel.build/versions/9.0.0/reference/be/functions.md)
- [Platforms and Toolchains Rules](https://bazel.build/versions/9.0.0/reference/be/platforms-and-toolchains.md)

#### Command line reference

- [Command-Line Reference](https://bazel.build/versions/9.0.0/reference/command-line-reference.md)

#### Query Language

- [The Bazel Query Reference](https://bazel.build/versions/9.0.0/query/language.md)
- [Query quickstart](https://bazel.build/versions/9.0.0/query/quickstart.md)

#### Glossary

- [Bazel Glossary](https://bazel.build/versions/9.0.0/reference/glossary.md)

#### Flag cheatsheet

- [Bazel flag cheat sheet](https://bazel.build/versions/9.0.0/reference/flag-cheatsheet.md)

### Extending

#### Concepts

- [Extension Overview](https://bazel.build/versions/9.0.0/extending/concepts.md)

#### Writing rules

- [Rules Tutorial](https://bazel.build/versions/9.0.0/rules/rules-tutorial.md)
- [Creating a Symbolic Macro](https://bazel.build/versions/9.0.0/rules/macro-tutorial.md)
- [Creating a Legacy Macro](https://bazel.build/versions/9.0.0/rules/legacy-macro-tutorial.md)
- [Using Macros to Create Custom Verbs](https://bazel.build/versions/9.0.0/rules/verbs-tutorial.md)
- [Starlark Language](https://bazel.build/versions/9.0.0/rules/language.md)
- [.bzl style guide](https://bazel.build/versions/9.0.0/rules/bzl-style.md)
- [Challenges of Writing Rules](https://bazel.build/versions/9.0.0/rules/challenges.md)
- [Writing Rules on Windows](https://bazel.build/versions/9.0.0/rules/windows.md)

#### Distributing rules

- [Testing](https://bazel.build/versions/9.0.0/rules/testing.md)
- [Optimizing Performance](https://bazel.build/versions/9.0.0/rules/performance.md)
- [Deploying Rules](https://bazel.build/versions/9.0.0/rules/deploying.md)

#### APIs

- [One-Page Overview](https://bazel.build/versions/9.0.0/rules/lib/overview.md)
- [Global functions](https://bazel.build/versions/9.0.0/rules/lib/globals.md)
- [.bzl files](https://bazel.build/versions/9.0.0/rules/lib/globals/bzl.md)
- [MODULE.bazel files](https://bazel.build/versions/9.0.0/rules/lib/globals/module.md)

#### Repo rules

- [Repository Rules](https://bazel.build/versions/9.0.0/rules/lib/repo/index.md)
- [cache repository rules](https://bazel.build/versions/9.0.0/rules/lib/repo/cache.md)
- [git repository rules](https://bazel.build/versions/9.0.0/rules/lib/repo/git.md)
- [http repository rules](https://bazel.build/versions/9.0.0/rules/lib/repo/http.md)
- [local repository rules](https://bazel.build/versions/9.0.0/rules/lib/repo/local.md)
- [utils repository rules](https://bazel.build/versions/9.0.0/rules/lib/repo/utils.md)

### Community

#### Contributing

- [Contributing to Bazel](https://bazel.build/versions/9.0.0/contribute/index.md)
- [Policy](https://bazel.build/versions/9.0.0/contribute/policy.md)
- [Patch Acceptance Process](https://bazel.build/versions/9.0.0/contribute/patch-acceptance.md)
- [Guide for Bazel Maintainers](https://bazel.build/versions/9.0.0/contribute/maintainers-guide.md)
- [The Bazel codebase](https://bazel.build/versions/9.0.0/contribute/codebase.md)
- [Searching the codebase](https://bazel.build/versions/9.0.0/contribute/search.md)
- [A Guide to Skyframe `StateMachine`s](https://bazel.build/versions/9.0.0/contribute/statemachine-guide.md)
- [Contribute to Bazel documentation](https://bazel.build/versions/9.0.0/contribute/docs.md)
- [Bazel docs style guide](https://bazel.build/versions/9.0.0/contribute/docs-style-guide.md)
- [Design Documents](https://bazel.build/versions/9.0.0/contribute/design-documents.md)
- [Writing release notes](https://bazel.build/versions/9.0.0/contribute/release-notes.md)

#### Programs

- [Bazel Special Interest Groups](https://bazel.build/versions/9.0.0/community/sig.md)
- [Who's Using Bazel](https://bazel.build/versions/9.0.0/community/users.md)
- [Recommended Rules](https://bazel.build/versions/9.0.0/community/recommended-rules.md)
- [Remote Execution Services](https://bazel.build/versions/9.0.0/community/remote-execution-services.md)

#### Getting help

- [Getting Help](https://bazel.build/versions/9.0.0/help.md)
- [Policy](https://bazel.build/versions/9.0.0/contribute/policy.md)
