Contribuir com o Bazel

Há muitas maneiras de ajudar o projeto e o ecossistema do Bazel.

Enviar feedback

Ao usar o Bazel, talvez você encontre algumas coisas que podem ser melhoradas. Você pode ajudar informando problemas quando:

  • O Bazel falha ou você encontra um bug que só pode ser resolvido usando bazel clean.
  • A documentação está incompleta ou pouco clara. Também é possível informar problemas na página que você está visualizando usando o link "Criar problema" no canto superior direito da página.
  • É possível melhorar uma mensagem de erro.

Participe da comunidade

Para interagir com a comunidade do Bazel:

Contribuir com código

O Bazel é um projeto grande e pode ser difícil alterar o código-fonte dele.

Você pode contribuir com o ecossistema do Bazel:

  • Ajudar os mantenedores de regras contribuindo com solicitações de envio.
  • Criar novas regras e oferecer código aberto.
  • Contribuir para ferramentas relacionadas ao Bazel, por exemplo, ferramentas de migração.
  • Melhoria na integração do Bazel com outros ambientes de desenvolvimento integrado e ferramentas.

Antes de fazer uma alteração, crie um problema no GitHub (em inglês) ou envie um e-mail para bazel-dev@.

As contribuições mais úteis corrigem bugs ou adicionam recursos, em vez de mudanças estilísticas, de refatoração ou de "limpeza". A mudança precisa incluir testes e documentação, tendo em mente a compatibilidade com versões anteriores, a portabilidade e o impacto no uso e no desempenho da memória.

Para saber como enviar uma mudança, consulte o processo de aceitação de patches.

Descrição do código do Bazel

O Bazel tem uma grande base de código com códigos em vários locais. Consulte o guia da base de código para mais detalhes.

O Bazel é organizado da seguinte maneira:

  • O código do cliente está em src/main/cpp e fornece a interface de linha de comando.
  • Os buffers de protocolo estão em src/main/protobuf.
  • O código do servidor está em src/main/java e src/test/java.
    • Código principal, que é composto principalmente pelo SkyFrame e alguns utilitários.
    • As regras integradas estão em com.google.devtools.build.lib.rules e em com.google.devtools.build.lib.bazel.rules. Leia sobre os Desafios das regras de escrita primeiro.
  • As interfaces nativas do Java estão em src/main/native.
  • Várias ferramentas com suporte a linguagens estão descritas na lista da seção de compilação do Bazel.

Como pesquisar o código-fonte do Bazel

Para pesquisar rapidamente o código-fonte do Bazel, use a Pesquisa de código do Bazel. Você pode navegar pelos repositórios, ramificações e arquivos do Bazel. Também é possível ver o histórico, as diferenças e as informações de culpados. Para saber mais, consulte o Guia do usuário da Pesquisa de código do Bazel.