O ecossistema do Bazel tem um conjunto de regras crescente e em evolução para oferecer suporte a linguagens e pacotes conhecidos. Grande parte da segurança do Bazel é definida pela capacidade de definir novas regras que podem ser usadas por outras pessoas.
Nesta página, descrevemos as regras recomendadas, nativas e não nativas do Bazel.
Regras recomendadas
Veja uma seleção de regras recomendadas:
- Android
- C / C++
- Docker/OCI
- Go
- Haskell (em inglês)
- Java
- JavaScript / NodeJS
- Kubernetes
- Gerenciamento de dependências do Maven
- Objective-C
- Criação de pacotes
- Protocol Buffers
- Python
- Scala (em inglês)
- Shell
- Webtesting (Webdriver)
O repositório Skylib contém outras funções que podem ser úteis ao escrever novas regras e macros.
As regras acima foram analisadas e seguem nossos requisitos de regras recomendadas. Entre em contato com os mantenedores do respectivo conjunto de regras sobre problemas e solicitações de recursos.
Para encontrar mais regras do Bazel, use um mecanismo de pesquisa, consulte awesomebazel.com ou pesquise no GitHub.
Regras nativas que não se aplicam a uma linguagem de programação específica
As regras nativas são enviadas com o binário do Bazel e estão sempre disponíveis em arquivos BUILD sem uma instrução load
.
- Ações extras
- Geral
- Plataforma
- Espaço de trabalho
Regras não nativas incorporadas
O Bazel também incorpora outras regras escritas no Starlark. Eles podem ser carregados a partir do repositório externo integrado @bazel_tools
.
- Regras do repositório