Skip to content

Bazel Concepts

This section explains the core concepts and principles behind Bazel. Understanding these concepts will help you use Bazel effectively.

Core Concepts

  1. Core Concepts Overview

    • Basic building blocks
    • How components interact
    • Build process overview
  2. Labels and Targets

    • Understanding Bazel labels
    • Different types of targets
    • Naming and referencing
  3. Packages and Visibility

    • Package organization
    • Visibility rules
    • Access control

Build Process

  1. Dependencies and Actions

    • Types of dependencies
    • How actions work
    • Build graph
  2. Build vs Runtime

    • Build-time vs runtime dependencies
    • Configuration differences
    • Resource management

Environment and Execution

  1. Hermetic Environment

    • Hermetic builds
    • Toolchain management
    • Platform configuration
  2. Remote Execution

    • Distributed builds
    • Remote caching
    • Execution services

Advanced Topics

  1. Rules and Evaluation

    • Custom rules
    • Rule implementation
    • Starlark basics
  2. Providers and Aspects

    • Rule interfaces
    • Cross-cutting functionality
    • Build analysis
  3. Bazel Central Registry

    • Module management
    • Version resolution
    • Publishing modules

Additional Resources

Released under the MIT License.