blob: ed466e54a9181d09238f3ee709e54bf18a39be41 [file] [log] [blame]
book_path: /_book.yaml
project_path: /_project.yaml
title: Extending Bazel
landing_page:
header:
hide_lower_section: true
custom_css_path: /bazel.css
rows:
# Hero Row
- options:
- description-50
- hero
- large-headings
- no-image-background
classname: bazel-hero bazel-hero-full-bleed-light
items:
- classname: bazel-hero
image_path: /images/extend.svg
heading: >
Extending Bazel
description: >
Maximize Bazel's power through advanced concepts and extensions.
# Jumpdown Row
- options:
- centered-header
- large-headings
- padding-large
classname: bazel-jumpdown-row
custom_html: >
<a href="#concepts">Concepts<span class="material-icons">arrow_downward</span>
</a>
<a href="#writing-rules">Writing rules<span class="material-icons">
arrow_downward</span></a>
<a href="#distributing-rules">Distributing rules<span class="material-icons">arrow_downward</span></a>
<a href="#design-docs">Design docs<span class="material-icons">arrow_downward</span></a>
<a href="#apis">APIs<span class="material-icons">arrow_downward</span></a>
# Concepts row
- options:
- centered-header
- cards
background: white
heading: Concepts
description: >
Understand concepts like rules and macros to extend Bazel's capabilities.
items_across: 4
items:
- heading: Overview
path: /extending/concepts/
- heading: Rules
path: /extending/rules
- heading: Macros
path: /extending/macros
- heading: Depsets
path: /extending/depsets
- heading: Aspects
path: /extending/aspects
- heading: Repository rules
path: /extending/repo
- heading: Configuring
path: /extending/config
# Writing rules row
- options:
- centered-header
- cards
background: white
heading: Writing rules
description: >
Write custom rules and macros to customize Bazel to your needs.
items_across: 4
items:
- heading: Creating a rule
path: /rules/rules-tutorial
- heading: Creating a macro
path: /rules/macro-tutorial
- heading: Creating custom verbs
path: /rules/verbs-tutorial
- heading: Starlark language
path: /rules/language
- heading: Starlark style guide
path: /rules/bzl-style
- heading: Challenges
path: /rules/challenges
- heading: Writing rules for Windows
path: /rules/windows
- heading: Example rules
path: https://github.com/bazelbuild/examples/tree/HEAD/rules
# Distributing rules row
- options:
- centered-header
- cards
background: white
heading: Distributing rules
description: >
Share your custom rules to your project or the Bazel community.
items_across: 4
items:
- heading: Testing rules
path: /rules/testing
- heading: Lint
path: https://github.com/bazelbuild/buildtools/tree/master/buildifier
- heading: Optimizing performance
path: /rules/performance
- heading: Deploy rules
path: /rules/deploying
- heading: Document rules with Stardoc
path: https://github.com/bazelbuild/stardoc
# Design docs row
- options:
- centered-header
- cards
background: white
heading: Design docs
description: >
Academic or conceptual materials on advanced Bazel concepts.
items_across: 4
items:
- heading: Platforms
path: /extending/platforms
- heading: Execution groups
path: /extending/exec-groups
- heading: Toolchains
path: /extending/toolchains
# APIs row
- options:
- centered-header
- cards
background: white
heading: APIs
description: >
Connect Bazel with these API libraries.
items_across: 4
items:
- heading: Build file API
path: /rules/lib/starlark-overview