Contribuir com o Bazel

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

Enviar feedback

Ao usar o Bazel, você pode encontrar coisas que podem ser melhoradas. Ajude 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 não é clara. Você também pode informar problemas na página que está visualizando usando o link "Criar problema" no canto superior direito da página.
  • Uma mensagem de erro pode ser melhorada.

Participar da comunidade

Você pode interagir com a comunidade do Bazel das seguintes maneiras:

Contribuir com código

O Bazel é um projeto grande, e fazer uma mudança no código-fonte pode ser difícil.

Você pode contribuir para o ecossistema do Bazel das seguintes maneiras:

  • Ajudando os responsáveis pelas regras a contribuir com solicitações de envio.
  • Criando novas regras e disponibilizando-as como código aberto.
  • Contribuindo para ferramentas relacionadas ao Bazel, por exemplo, ferramentas de migração.
  • Melhorando a integração do Bazel com outras ferramentas e ambientes de desenvolvimento integrado.

Antes de fazer uma mudança, crie um problema do GitHub ou envie um e-mail para bazel-discuss@.

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

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 um grande codebase com código em vários locais. Consulte o guia do codebase para mais detalhes.

O Bazel é organizado da seguinte forma:

  • 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. Recomendamos que você leia sobre os desafios de escrever regras primeiro.
  • As interfaces nativas Java estão em src/main/native.
  • Várias ferramentas para suporte a idiomas são descritas na lista na seção 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 conferir o histórico, as diferenças e as informações de atribuição. Para saber mais, consulte o Guia do usuário da Pesquisa de código do Bazel.