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