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

Home

  • Bazel overview
  • Bazel vision
  • Getting started
  • Backward compatibility

Installing Bazel

  • Installation overview
  • Installation steps
    • Ubuntu
    • Fedora/CentOS
    • macOS
    • Windows
    • Compiling from source
    • Command-line completion
    • Integrating with IDEs
  • Updating Bazel

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
  • Rules
  • 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

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
  • Persistent workers
    • Persistent workers
    • Multiplex workers
    • Creating persistent workers
  • FAQ
  • Starlark language

Providers

This section lists providers available on built-in rules. See the Rules page for more on providers.
  • AppleDebugOutputs
  • AppleDylibBinary
  • AppleDynamicFramework
  • AppleExecutableBinary
  • AppleLoadableBundleBinary
  • AppleStaticLibrary
  • CcInfo
  • CcStarlarkApiProvider
  • CcToolchainConfigInfo
  • CcToolchainInfo
  • CompilationContext
  • ConstraintCollection
  • ConstraintSettingInfo
  • ConstraintValueInfo
  • DefaultInfo
  • FeatureFlagInfo
  • file_provider
  • FilesToRunProvider
  • GeneratedExtensionRegistryProvider
  • InstrumentedFilesInfo
  • java
  • java_compilation_info
  • java_output_jars
  • JavaCcLinkParamsInfo
  • JavaInfo
  • JavaNativeLibraryInfo
  • JavaRuntimeInfo
  • JavaToolchainInfo
  • ObjcProvider
  • OutputGroupInfo
  • PlatformInfo
  • ProguardSpecProvider
  • ProtoInfo
  • ProtoRegistryProvider
  • PyInfo
  • PyRuntimeInfo
  • TemplateVariableInfo
  • ToolchainInfo
  • ToolchainTypeInfo
  • XcodeProperties
  • XcodeVersionConfig
  • 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