• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Index of all Bazel proposals and design documents

Bazel Documents

This is an index of all documents for Bazel.

There are two kinds:

  • Design docs that are subject to the workflow described below
  • Live documents for which the workflow is not a good fit

Design doc workflow

New proposals follow the design process and are sent for review as a GitHub discussion.

State diagram of the design process

stateDiagram-v2    
    ur: Under review
    
    Draft --> ur
    ur --> Approved
    Approved --> Implemented
    Draft --> Dropped
    ur --> Dropped
    Approved --> Dropped
    
    classDef success fill:#ded
    classDef failure fill:#fcc
    
    class Implemented success
    class Dropped failure

Live documents

Last updated Title Author(s) alias
2023-10-09 Starlark Rules Roadmap @comius
2023-09-26 Bazelbuild Repositories Maintenance Guide @comius and @meteorcloudy
2023-08-30 Bazel Proto Rules @comius
2023-08-01 Problems with Bazel's code coverage collection @c-mita
2023-07-27 A Guide to Skyframe StateMachines @aoeui
2022-02-17 The Bazel codebase @lberki

Design docs

Under review

Last updated Title Author(s) alias Category
2024-03-18 A new home for the host platform @Wyverald Configurability, External Repositories
2024-02-10 Execution Platform Scoped Spawn Strategies @Silic0nS0ldier Configurability, Execution Strategy
2024-02-06 Linking on multiple platforms @comius C++ linking
2024-01-24 Simplifying lockfile maintenance @fmeum External Repositories
2024-01-22 Garbage collection for the disk cache @tjgq Performance
2024-01-18 Bazel Remote Output Service @coeuvre Remote Execution
2023-12-12 --remote_local_fallback Respects Strategy Declarations @Silic0nS0ldier Configurability, Execution Strategy
2023-12-5 Offline & Vendor Modes @salmasamy Bazel, External Repositories
2023-11-09 Avoiding accidental secret leaks in the BEP @jmmv Core
2023-09-19 Bazel Ruleset GOVERNANCE | MECHANICS @radvani13 Rules
2023-10-25 C++20 Modules Support @PikachuHyA C++
2023-09-12 Proto toolchainization @comius Protos
2023-09-07 A true repository cache @Wyverald External Repositories
2023-08-08 Standard exec configurations @gregestren Configurability
2023-08-08 Inheritance of Target Incompatibility @fmeum Platforms, Configurability
2023-06-30 Fingerprinting Starlark Functions @brandjon Starlark and actions
2023-06-16 Extending Bazel rules @comius Starlark Rules
2023-06-15 Integrated bzl_library @brandjon Starlark
2023-05-31 subrule: Decomposing Starlark rules @comius Starlark Rules
2023-03-17 C/C++ standard resolution for Bazel modules @fmeum C++, External Repositories
2023-03-17 More accurate cquery @gregestren Configurability
2022-10-17 Dependency adapters for virtual targets @vdye Bazel

Draft

Last updated Title Author(s) alias Category
2023-11-23 Regular rules in module extensions @matts1 External Repositories
2023-10-25 Faster aspects: pruning on the way down @aiuto
2023-10-25 Better SBOMS: annotated rule attributes @aiuto
2023-10-23 Incremental builds with small memory footprint @lberki Core
2023-01-18 Modular cc toolchains @silvergasp CC toolchain rules
2020-10-09 Adding http mirror to accelerate repos downloading @yancl External Repositories
2021-06-25 Better Starlark analysis unit tests @hvadehra Starlark
2022-04-25 Extend expand_template() API to reduce retained memory @hvadehra Starlark
2022-04-29 @since(version) annotations in documentation. @aiuto Documentation

Approved

Last updated Title Author(s) alias Category
2023-12-06 bazel mod tidy @fmeum External dependencies
2023-08-14 Platform-based flags @katre Platforms
2023-08-08 Standard platform transitions @katre Platforms
2023-06-12 Remote Output Service: place bazel-out/ on a FUSE file system @EdSchouten Remote Execution
2023-03-21 Bazel feature detection in Starlark @Wyverald General, Starlark Rules
2023-03-14 REPO.bazel @Wyverald External Repositories
2023-03-07 Build Stamping API for Starlark rules @buildbreaker2021 Starlark Rules
2023-01-23 Remote Cache Eviction for Build without the Bytes @coeuvre Remote Execution
2022-10-11 Renaming applicable_licenses @aiuto Configuration
2023-01-30 Transitive static libraries @fmeum C++
2022-12-15 Bzlmod lockfile @salmasamy Bazel, External Repositories
2022-05-12 Bzlmod External Dependencies Inspection Tool @andyrinne12 External Repositories
2022-05-11 Deprecating managed_directories @lberki External Repositories
2021-02-15 External directory reshuffling @lberki External Repositories
2021-02-15 C++ rules skylark migration plan @mhlopko C++
2019-05-08 Android Native to Starlark Migration @timpeut Android
2018-08-14 Decoupling android_ndk_repository from Bazel @jin Android
2018-07-31 Splitting large BEP events @buchgr Build Event Protocol

Implemented

Last updated Title Author(s) alias Category
2023-05-04 Directory watching API for repo rules @Wyverald External Repositories
2022-09-05 Automatic exec groups for toolchains @comius @kotlaja Configurability
2023-03-20 Automatic use_repo fixups for module extensions @fmeum External Repositories
2022-08-17 Locating runfiles with Bzlmod @fmeum External Repositories, Bazel
2023-06-13 Credential Helpers for Bazel @Yannic External Repositories
2022-03-18 proto_common module @comius Proto Rules
2021-06-23 Improving native.existing_rules @tetromino, @brandjon Build Language
2021-06-09 Aspects Propagating other Aspects @messa Starlark
2021-04-22 Custom constructors for providers @brandjon Build Language
2021-03-24 Java common refactoring @comius Java rules
2020-12-22 Injecting Starlark Values Into Builtins @brandjon Starlark
2021-03-06 OSS License Declarations @aiuto Product
2021-02-15 Rules for software license compliance @aiuto License Rules, Bazel
2023-03-31 Optional Toolchains @katre Configurability
2022-05-25 Canonical label literals @Wyverald External Repositories
2022-03-07 Representing repeatable Starlark flags as config.string_list @fmeum Configurability, Build Language
2022-01-14 Proposal for subpackages built-in helper function @kkress Bazel
2021-08-02 Bazel Central Registry Policies and Procedures @meteorcloudy External Repositories
2021-03-06 Remote Persistent Workers [@ulfjack]
2021-03-06 Rules authors SIG @alexeagle Community
2021-02-18 Require ProtoInfo for proto_lang_toolchain#blacklisted_protos @Yannic Protobuf
2021-02-16 Selecting Between Python 2 and 3 @brandjon Python
2021-02-16 Remote Downloads @EricBurnett, @jmillikin, @sstriker External Repositories
2021-02-16 Starlark Directory Expansion in Args MapEach @haileiyu Starlark
2021-02-16 Test execution on Windows without Bash @laszlocsomor Windows
2021-02-15 Toolchain resolution using configuration flags @comius Configurability
2021-02-15 Configured Query Starlark Output @c-parsons Configurability, Starlark
2021-02-15 Proposal: new format ‘flag_per_line’ for Args @vmaverick Starlark
2021-02-15 cquery somepath: easy mode @gregestren Configurability
2021-02-15 Automatically migrating maven_jar to rules_jvm_external @jin External Repositories
2021-02-15 Target-level execution properties @agoulti Configurability
2021-02-15 Bazel Starlark API: add ctx.resolve_tools @laszlocsomor Starlark
2021-02-15 Auto-configured Host Platform @katre Configurability
2021-02-15 Multiplex persistent worker @borkaehw Bazel
2021-02-15 Starlark Build Configuration @juliexxia, @gregestren Configurability
2021-02-15 Crosstool in Skylark @scentini, @mhlopko C++
2021-02-15 Declared Providers @dslomov, @laurentlb Starlark
2021-02-15 Java Platformization @comius Configurability
2021-02-15 Starlark Shorthand Flag Mapping @WarkahScott Configurability
2021-02-15 Measuring Configuration Overhead @gregestren Configurability
2021-02-15 Action Groups (Multi-Toolchain Resolution) @juliexxia Configurability
2021-02-15 Common Bazel Constraints @gregestren Configurability
2021-02-15 Starlark Build Configurations - Parameterized-Transitions API @juliexxia Configurability
2021-02-15 Partial C++ Starlark API @oquenchil C++
2021-02-15 Crosstool in Skylark @mhlopko C++
2021-02-15 Shrinking the Bazel binary @buchgr, @meistert Bazel
2021-02-15 External C/C++ libraries rules @ichern Bazel
2021-02-15 Bazel Runfiles Libraries @laszlocsomor Bazel
2021-02-15 Name resolution @laurentlb Starlark
2020-10-28 Keepalived remote execution @coeuvre Remote Execution
2020-10-19 Bazel External Dependencies Overhaul @meteorcloudy, @philwo, @Wyverald External Repositories
2020-09-30 Toolchain Transition Migration @katre Configurability
2020-09-30 Toolchain Transitions @katre Configurability
2020-09-30 Passing Toolchain Context across Dependencies @katre Configurability
2020-05-13 Execution Transitions @katre Configurability
2020-05-13 Old Flags to Platform Migration @aragos Configurability
2019-12-20 Incompatible Target Skipping @AustinSchuh, @gregestren Configurability
2019-12-17 cquery somepath: easy mode @gregestren Configurability
2019-12-17 Exposing Target Platform Constraints @katre Configurability
2019-10-24 Visibility for source files @aehlig Build API
2019-04-22 Move //tools/build_defs/pkg to rules_pkg @aiuto Bazel
2019-05-10 Bazel with NPM package manager @ichern External Repositories
2019-05-27 Authentication for ctx.download @aehlig External Repositories
2019-04-29 Forcing non-cache-hits in the repository cache @aehlig External Repositories
2019-04-05 Handling download failures @aehlig External Repositories
2018-12-14 Versioned Documentation @jin Documentation
2018-11-26 Update Download Functions in repository_ctx @dkelmer External Repositories
2018-11-14 Platform Inheritance @katre Configurability
2018-11-09 Config Setting Chaining @gregestren Configurability
2018-10-29 Progress reporting for external repositories @aehlig External Repositories
2018-11-10 Symlinks in Remote Execution @buchgr Remote Execution
2018-08-27 Args Directory Support @tomlu Starlark
2018-08-20 Skylark API to the C++ toolchain @mhlopko C++
2018-08-03 Skyframe threading model @tomlu Skyframe
2018-07-13 Bazel hashing of external directory output @aehlig External Repositories
2018-05-24 Unified Configuration Transitions @gregestren Configurability
2018-04-26 Per-Rule Execution Platform Constraints @katre Configurability
2017-10-06 Dynamic Bazel Configurations @gregestren Configurability
2017-03-03 Label-keyed String Dictionary Type for Build Attributes @serynth Configurability
2017-01-20 Aspect required providers @tomlu, @dslomov Starlark
2017-01-20 Aspects-on-aspects @dslomov Starlark
2016-10-18 Invalidation of remote repositories @damienmg External Repositories
2016-10-11 Distribution Artifact for Bazel @aehlig Release
2016-09-30 Central cache for external repositories @jin External Repositories
2016-09-05 Building Python on Windows @meteorcloudy Python, Windows
2016-06-21 Specifying environment variables @aehlig Bazel
2016-06-02 Sandboxing @philwo Bazel
2016-05-26 Implementing Beautiful Error Messages (Loading Phase) @laurentlb Bazel
2016-05-23 Beautiful error messages @laurentlb Bazel
2016-04-18 Parameterized Skylark Aspects @dslomov, lindleyf Starlark
2016-02-16 Generating C++ crosstool with a Skylark Remote Repository @damienmg Toolchains
2015-07-02 Skylark Remote Repositories @damienmg External repositories

Dropped

Last updated Title Author(s) alias Category
2023-06-21 Integrated bzl_library @brandjon Starlark
2022-02-18 Coding guidelines for Starlark rules @comius Starlark Rules
2019-07-11 Load Bazel Protobuf rules from @rules_proto @Yannic Protobuf
2022-07-07 Enabling Global exec_groups @susinmotion Configurability
2021-06-17 Starlark fail(errorcode="") @aiuto Documentation / Event Stream
2023-03-31 Execution Platforms vs. Strategies @katre and @aragos Configurability
2021-02-18 Toolchainifying proto rules @Yannic Protobuf
2023-03-30 Guidance for Rules Authors how to deal with Bazel versions / upgrades @philwo Bazel
2022-11-16 Platforms on Targets @katre Configuration
2021-07-21 Monorepo Toolchain Registration @katre Toolchains
2021-02-16 Semantics of the expansion of Labels @aehlig External Repositories
2021-02-16 Propagate tags from the targets to actions @ishikhman Bazel, Starlark
2021-02-16 Remote Repository Cache jmillikin External Repositories
2021-02-16 Moving Skylark out of Bazel @brandjon Starlark
2021-02-16 Dependency Discovery Proposal @stevebillings External Repositories
2021-02-16 s/skydoc/stardoc/g: a plan @jin Documentation
2021-02-16 Experimental Content-Based Output Paths @gregestren Configurability
2021-02-15 Managing Breaking Changes in Bazel @dslomov Community
2021-02-15 Separating Build API from Bazel @c-parsons Starlark
2021-02-15 Improved Command Line Reporting @cvcal Bazel
2021-02-15 Bazel External Dependencies Roadmap @dslomov External Repositories
2021-02-15 Aspects Propagating Other Aspects @lberki Build API
2021-02-15 Mandatory load() statements in BUILD files @lberki Starlark
2021-02-15 Visibility for implicit attributes @aehlig Build API
2021-02-15 Structured Compiler Diagnostics @illicitonion Build Event Protocol, Build API
2021-02-15 Replacing native <lang>_proto_library rules with Starlark @Yannic Protobuf
2021-02-15 Always dirty repository rules @ichern External Repositories
2021-02-15 Design for a Python Toolchain @brandjon Python
2021-02-15 Bazel Federation @dslomov, @laurentlb Community
2021-02-15 On custom shell toolchain for Bazel Starlark rules @ichern Toolchains, Starlark
2021-02-15 Recursive Workspaces @aehlig External Repositoires
2021-02-15 Resource auto-tuning via flags @jmmv Performance
2021-02-15 Repository Remapping Revisited @dkelmer External Repositories
2021-02-15 Bazel Rules Curation @laurentlb Community
2021-02-15 Extending the design of WORKSPACE files @aehlig, @dslomov External Repositories
2021-02-15 Namespaces when using multiple bazel repositories @aehlig, @dslomov External Repositories
2021-02-15 Delaying of load statements @aehlig External Repositories
2021-02-15 Repository rules with multiple return values @aehlig External Repositories
2021-02-15 Diamond Splitting for External Repositories @dslomov External Repositories
2021-02-15 Output Map Madness @brandjon Starlark
2021-02-15 External Repositories: The Future @aehlig, @dslomov External Repositories
2021-02-15 A Brave New World for the Bazel WORKSPACE File @mattmoor, @dslomov, @davidstanke, @damienmg External Repositories
2021-02-15 Garbage Collection for the Repository Cache @aehlig External Repositories
2021-02-15 Saner Skylark Sets @dslomov Starlark
2021-02-15 Customizing the Python Stub Template @brandjon Python
2021-02-15 HTTP downloads with Authorization using .netrc @genrym External Repositories
2021-02-15 Package Validation Proposal @kkress Bazel, Starlark
2020-10-19 Adding a constraint to default target platform @comius Configurability
2020-09-30 Bazel Constraint Equality @aragos Configurability
2020-09-30 Versioned Runtime APIs under Platforms & Toolchains @aragos Configurability
2020-01-16 Starlark project files @robbertvanginkel Bazel, Starlark
2019-08-22 Non-Hermetic Tool Paths in Platforms @aragos Configurability
2019-08-01 Platforms and Strategies @katre Configurability, Execution Strategy
2018-06-14 Platforms and Configurations @katre C++, Starlark
2016-09-19 Recursive WORKSPACE file parsing @kchodorow External Repositories
2015-03-06 bazel init a.k.a ./configure for Bazel @damienmg Bazel

More Repositories

1

bazel

a fast, scalable, multi-language and extensible build system
Java
22,794
star
2

starlark

Starlark Language
Starlark
2,435
star
3

bazelisk

A user-friendly launcher for Bazel.
Go
2,060
star
4

rules_go

Go rules for Bazel
Go
1,356
star
5

bazel-gazelle

Gazelle is a Bazel build file generator for Bazel projects. It natively supports Go and protobuf, and it may be extended to support new languages and custom rule sets.
Go
1,156
star
6

rules_docker

Rules for building and handling Docker images with Bazel
Starlark
1,074
star
7

buildtools

A bazel BUILD file formatter and editor
Go
1,007
star
8

examples

Examples for Bazel
Starlark
831
star
9

intellij

IntelliJ plugin for Bazel projects
Java
762
star
10

rules_rust

Rust rules for Bazel
Starlark
660
star
11

bazel-buildfarm

Bazel remote caching and execution service
Java
650
star
12

tulsi

An Xcode Project Generator For Bazel
Swift
547
star
13

rules_python

Bazel Python Rules
Starlark
521
star
14

rules_apple

Bazel rules to build apps for Apple platforms.
Starlark
509
star
15

bazel-watcher

Tools for building Bazel targets when source files change.
Go
440
star
16

bazel-skylib

Common useful functions and rules for Bazel
Starlark
393
star
17

sandboxfs

A virtual file system for sandboxing
Rust
371
star
18

rules_scala

Scala rules for Bazel
Starlark
360
star
19

rules_kotlin

Bazel rules for Kotlin
Kotlin
331
star
20

remote-apis

An API for caching and execution of actions on a remote system.
Go
328
star
21

rules_swift

Bazel rules to build Swift on Apple and Linux platforms
Starlark
311
star
22

rules_k8s

This repository contains rules for interacting with Kubernetes configurations / clusters.
Starlark
289
star
23

rules_typescript

MOVED to https://github.com/bazelbuild/rules_nodejs/tree/3.x/third_party/github.com/bazelbuild/rules_typescript
TypeScript
275
star
24

continuous-integration

Bazel's Continuous Integration Setup
Python
258
star
25

bazel-central-registry

The central registry of Bazel modules for the Bzlmod external dependency system.
Starlark
247
star
26

rules_pkg

Bazel rules for creating packages of many types (zip, tar, deb, rpm, ...)
Starlark
225
star
27

rules_cc

C++ Rules for Bazel
Starlark
184
star
28

bazel-toolchains

Repository that hosts Bazel toolchain configs for remote execution and related support tools.
Go
183
star
29

rules_android

Android rules for Bazel
Starlark
175
star
30

rules_proto

Protocol buffer rules for Bazel
Starlark
163
star
31

rules_closure

Closure rules for Bazel
Java
153
star
32

vim-bazel

Vim support for Bazel
Vim Script
144
star
33

platforms

Constraint values for specifying platforms and toolchains
Starlark
108
star
34

stardoc

Stardoc: Starlark Documentation Generator
Java
107
star
35

rules_webtesting

Bazel rules to allow testing against a browser with WebDriver.
Go
96
star
36

apple_support

Apple support for Bazel rules
Starlark
83
star
37

emacs-bazel-mode

Emacs mode for Bazel
Emacs Lisp
80
star
38

rules_license

Starlark
77
star
39

rules_java

Java rules for Bazel
Starlark
72
star
40

reclient

Go
65
star
41

setup-bazelisk

Set up your GitHub Actions workflow with a specific version of Bazelisk
TypeScript
56
star
42

rules_sass

Sass rules for Bazel
Starlark
51
star
43

remote-apis-sdks

This repository contains client libraries for the Remote Execution API https://github.com/bazelbuild/remote-apis
Go
48
star
44

bazel-federation

Starlark
47
star
45

skydoc

Documentation generator for Skylark
Python
46
star
46

migration-tooling

Migration tools for Bazel
Java
44
star
47

codelabs

Shell
39
star
48

BUILD_file_generator

Generate BUILD files for your Java files
Java
39
star
49

eclipse

Eclipse For Bazel (deprecated, see https://github.com/salesforce/bazel-eclipse instead)
Java
32
star
50

bazel-integration-testing

Framework for integration tests that call Bazel
Java
32
star
51

rules_appengine

AppEngine rules for Bazel
Starlark
30
star
52

rules_android_ndk

Starlark
29
star
53

tools_remote

Java
28
star
54

bazel-bench

Benchmarking tool for bazel
Python
27
star
55

vim-ft-bzl

Vim Script
27
star
56

rules_perl

Perl rules for Bazel
Starlark
25
star
57

tools_android

Tools for use with building Android apps with Bazel
Starlark
24
star
58

homebrew-tap

This repository contains a collection of Homebrew (aka, Brew) "formulae" for Bazel
24
star
59

rules_d

D rules for Bazel
Starlark
24
star
60

bazel-blog

Content of the Bazel blog
HTML
20
star
61

bzlmod

Go
20
star
62

rules_testing

Starlark testing framework and utility libraries
Starlark
20
star
63

rules_gwt

Bazel rules for GWT
Starlark
19
star
64

bazel-website

Website for Bazel, a fast, scalable, multi-language and extensible build system
HTML
17
star
65

bazelcon

Artifacts from BazelCon
15
star
66

java_tools

Python
12
star
67

rules_groovy

Groovy rules for Bazel
Starlark
11
star
68

rules_postcss

PostCSS rules for Bazel
Starlark
10
star
69

rules_platform

Starlark
8
star
70

bazel_metrics

Python
7
star
71

community

Resources for community management efforts, such as SIGs
6
star
72

rules_angular

OBSOLETE see https://github.com/angular/angular/tree/master/packages/bazel
Python
5
star
73

gmaven_rules

This repository is deprecated. Please instead use https://github.com/bazelbuild/rules_jvm_external
Python
3
star
74

rules_utp

Starlark
2
star
75

.allstar

1
star
76

.github

1
star
77

bazel-worker-api

Java
1
star
78

build-event-stream

1
star
79

rules_sh

1
star