Esta página descreve como os colaboradores podem propor e fazer mudanças na base de código do Bazel.
- Leia a política de contribuição do Bazel.
- Crie um problema no GitHub para discutir seu plano e design. As solicitações de pull que mudam ou adicionam comportamento precisam de um problema correspondente para acompanhamento.
- Se você estiver propondo mudanças significativas, escreva um documento de design.
- Confira se você assinou um Contrato de licença de colaborador Agreement.
- Prepare um commit do Git que implemente o recurso. Não se esqueça de adicionar testes e atualizar a documentação. Se a mudança tiver efeitos visíveis para o usuário, por favor adicione notas de versão. Se for uma mudança incompatível, leia o guia para implementar mudanças interruptivas.
- Crie uma solicitação de pull no GitHub. Se você não conhece o GitHub, leia sobre solicitações de pull requests. Restringimos as permissões para criar ramificações no repositório principal do Bazel. Portanto, será necessário enviar o commit para seu próprio fork do repositório.
- Um responsável pela manutenção do Bazel vai atribuir um revisor a você em até dois dias úteis (exceto feriados nos EUA e na Alemanha). Se você não receber um revisor nesse período, solicite um enviando um e-mail para bazel-dev@googlegroups.com.
- Trabalhe com o revisor para concluir uma revisão de código. Para cada mudança, crie um novo commit e envie-o para fazer alterações na solicitação de pull. Se a revisão demorar muito (por exemplo, se o revisor não responder), envie um e-mail para bazel-dev@googlegroups.com.
Depois que a revisão for concluída, um responsável pela manutenção do Bazel vai aplicar o patch ao sistema de controle de versão interno do Google.
Isso aciona verificações internas de pré-envio que podem sugerir mais mudanças. Se você não tiver expressado uma preferência, o responsável pela manutenção que enviar a mudança vai adicionar mudanças "triviais" (como linting) que não afetam o design. Se forem necessárias mudanças mais profundas ou se você preferir aplicar mudanças diretamente, você e o revisor precisam comunicar as preferências claramente nos comentários da revisão.
Após o envio interno, o patch é exportado como um commit do Git, e a solicitação de pull do GitHub é fechada. Todas as mudanças finais são atribuídas a você.