• GitHub
  • Getting Started
  • Using Bazel
  • Extending Bazel
  • Contributing
  • Blog
Navigation

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

Built-in Types and Modules

  • Action
  • actions
  • Args
  • attr
  • bool
  • CcToolchainConfigInfo
  • cmd_helper
  • configuration
  • ctx
  • depset
  • dict
  • File
  • int
  • Label
  • list
  • native
  • range
  • repository_ctx
  • root
  • string
  • struct
  • Target
  • ToolchainContext
  • tuple
  • Create issue

About

  • Who's Using Bazel?
  • Roadmap
  • Contribute
  • Governance Plan
  • Privacy Policy
  • Sitemap

Support

  • Stack Overflow
  • Issue Tracker
  • Documentation
  • FAQ
  • Support Policy

Stay Connected

  • Twitter
  • Blog
  • GitHub
  • Discussion group
  • Slack

© 2023 Google