Skip to content

api-evangelist/bazel-build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bazel (bazel-build)

Bazel is a fast, scalable, multi-language and extensible build tool open-sourced by Google. It supports software projects of any size across Java, C++, Go, Python, Rust, Swift, Kotlin, Scala, Android, iOS, and many other languages and platforms. Bazel uses a hermetic, sandboxed execution model with content-addressable caching, parallel builds, and remote execution. The project ships the bazel CLI, the Starlark extension language for build rules, the MODULE.bazel external-dependency system (Bzlmod), and the Bazel Central Registry — a public HTTP index registry that hosts community-maintained Bazel modules.

APIs.json: https://raw.githubusercontent.com/api-evangelist/bazel-build/refs/heads/main/apis.yml

Scope

  • Type: Index
  • Position: Consumer
  • Access: 3rd-Party

Tags

  • Build Systems
  • Build Tool
  • Bzlmod
  • CI/CD
  • Developer Tools
  • Hermetic Builds
  • Monorepo
  • Open Source
  • Remote Execution
  • Starlark

Timestamps

  • Created: 2026-05-25
  • Modified: 2026-05-25

APIs

Bazel Central Registry API

The Bazel Central Registry (BCR) is the default index registry consulted by Bzlmod, Bazel's external dependency management system. The BCR exposes a stable HTTP layout at https://bcr.bazel.build/ that serves a registry-wide bazel_registry.json plus per-module metadata.json, MODULE.bazel manifests, and source.json fetch instructions. Since Bazel 8 Bzlmod is on by default, making the BCR the registry every Bazel install resolves against unless --registry is overridden.

Tags

  • Bzlmod
  • Index Registry
  • Modules
  • Package Registry

Properties

Bazel Command Line Interface

The bazel command line tool is the primary user-facing surface of Bazel. It exposes commands such as build, test, run, query, cquery, aquery, mod, fetch, info, coverage, and clean, plus the BEP/BES streaming protocols for build event publishing. Bazelisk is the recommended launcher that pins the Bazel version per project via .bazelversion.

Tags

  • CLI
  • Commands
  • Tooling

Properties

Bazel Starlark Build API

Bazel's build rules, macros, and module extensions are written in Starlark — a deterministic Python dialect. The Starlark Build API exposes the rule(), repository_rule(), module_extension(), aspect(), and provider() primitives used to declare build targets, generate actions, and integrate new languages. BUILD, BUILD.bazel, .bzl, MODULE.bazel, and WORKSPACE files are all evaluated by this API.

Tags

  • BUILD
  • DSL
  • Extension
  • Rules
  • Starlark

Properties

Bazel Remote Execution API

Bazel speaks the open Remote Execution API (REAPI), a gRPC protocol for content-addressable storage and distributed action execution. REAPI lets Bazel offload compile, test, and link actions to a remote build farm and share a Content-Addressable Store (CAS) and Action Cache across users and CI runners. Bazel implements the client side; servers such as BuildBuddy, EngFlow, Buildbarn, Buildfarm, and Google RBE implement the server side.

Tags

  • CAS
  • Caching
  • Distributed Builds
  • gRPC
  • Remote Execution

Properties

Bazel Build Event Protocol

The Build Event Protocol (BEP) is Bazel's structured stream of build events — target configured, progress, test results, action executed, build finished — emitted during every invocation. BEP can be written to a local file (--build_event_json_file / --build_event_binary_file) or streamed via gRPC to a Build Event Service (BES) backend for build observability, flake analysis, and CI dashboards.

Tags

  • BEP
  • BES
  • Build Events
  • Observability
  • Streaming

Properties

Common Properties

Maintainers

FN: Kin Lane Email: info@apievangelist.com URL: https://apievangelist.com

About

Bazel — fast, scalable, multi-language and extensible build tool (Google open-sourced)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors