Toggle navigation
GitHub
Getting Started
Using Bazel
Extending Bazel
Contributing
Blog
Navigation
Version: 0.17.1
main
5.4.1
5.4.0
5.3.1
5.3.0
5.2.0
5.1.1
5.1.0
5.0.0
4.2.4
4.2.3
4.2.2
4.2.1
4.2.0
4.1.0
4.0.0
3.7.0
3.6.0
3.5.1
3.4.0
3.3.0
3.2.0
3.1.0
3.0.0
2.2.0
2.1.0
2.0.0
1.2.0
1.1.0
1.0.0
0.29.1
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.2
0.19.1
0.18.1
0.17.2
0.17.1
Home
Bazel overview
Bazel vision
Getting started
Backward compatibility
Release versioning
Installing Bazel
Installation overview
Installation steps
Ubuntu
Fedora/CentOS
macOS
Windows
Compiling from source
Command-line completion
Integrating with IDEs
Tutorials
C++
Java
Android
iOS
Using Bazel
Concepts
Core concepts
External dependencies
Configurable attributes
Platforms and toolchains
Visibility
Guides
Running Bazel
Creating a macro
Optimizing memory
Building on Windows
Queries
The query command
The cquery command
The aquery command
Query language
Best practices
General best practices
Sharing BUILD variables
Remote execution
Overview
Guidelines
Troubleshooting
Troubleshooting with Bazel sandbox
Non-hermetic WORKSPACE rules
Debugging remote cache hits
Remote execution and CI
Remote caching
Overview
Debugging remote cache hits with local execution
Rules
Build encyclopedia
Android
Tutorial
Android resources
Using mobile-install
Android instrumentation tests
Android NDK
Android Studio plugin
Apple
Tutorial
Apple resources
Migrating from Xcode
Converting CocoaPods
C++
Tutorial
C++ resources
C++ use cases
C++ Toolchain Configuration
Tutorial: Configuring C++ Toolchains
Integrating with C++ rules
Java
Tutorial
Java resources
Migrating from Maven
Reference
Commands and options
Glossary
Build encyclopedia
Test encyclopedia
Command line reference
BUILD files
Functions
Common rule definitions
"Make" variables
BUILD style guide
Build Event Protocol
Output directory layout
Platforms
Execution Groups
Toolchains
Extending Bazel
Extension overview
Concepts
Macros
Rules
Depsets
Aspects
Repository rules
Configurations
Best practices
.bzl style guide
Testing extensions
Documenting rules with Stardoc
Linting
Optimizing performance
Deploying rules
Writing rules on Windows
Examples
Extensions API
FAQ
Starlark language
Configuration Fragments
Configuration fragments give rules access to language-specific parts of
configuration
.
Rule implementations can get them using
ctx.fragments
.
[fragment name]
android
apple
cpp
j2objc
java
objc
platform
proto
py
swift
Create issue