Para permitir que equipes que contribuem com src não principal tenham propriedade total do processo de revisão nos projetos do tradefederation, os seguintes projetos foram criados com direitos de +2 abertos para todas as equipes. Isso alivia a equipe principal do Trade Federation do fardo de todas as revisões de código não relacionadas à estrutura principal, permitindo que as outras equipes iterem mais rápido no ciclo de revisão.
A origem não principal é definida como um código que não é exigido pelo framework tradefederation para ser funcional (por exemplo, testes personalizados, configurações, utilitários de teste específicos).
IMPORTANTE: src não principal não pode estender classes principais do Trade Federation. Isso afeta a refatoração/limpeza futura. Se você não tiver certeza se seu código pertence ao núcleo ou à contribuição, entre em contato com android-tradefed@ para esclarecimentos. A equipe principal do Trade Federation está à disposição para dar conselhos e receber solicitações de recursos.
Um exemplo de classe principal do Trade Federation seria qualquer classe no pacote
com.google.android.tradefed.build
, como:com.google.android.tradefed.build.LaunchControlProvider
Entre em contato se não tiver certeza do que seria considerado uma classe principal para android-tradefed@.
[TOC]
Caminhos dos projetos de contribuição
Para quem são esses projetos de contribuição?
Se você trabalha atualmente nos projetos do tradefederation escrevendo testes/utilitários/configurações de teste, esses projetos foram criados para você.
Revisões de código em projetos de contribuição
O objetivo dos projetos de contribuição é permitir que você desenvolva no Tradefed sem precisar da revisão da equipe principal (android-tradefed@). Por isso, esperamos que sua equipe ou qualquer pessoa familiarizada com seu contexto faça as revisões de código nas suas CLs.
Entre em contato com android-tradefed@ sempre que tiver dúvidas ou precisar de orientação sobre um caso específico, mas não confie nele por padrão para fazer sua revisão de código em contrib. A equipe do Tradefed não tem SLO quando se trata de revisões de código em contribuições.
Onde posso começar a trabalhar nesses projetos?
Eles foram adicionados aos seguintes manifestos de ramificação e já fazem parte do checkout da plataforma principal. Portanto, se você não encontrar os projetos no seu ambiente, basta fazer uma sincronização do repositório para contribuir.
- principal
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- main-without-vendor
- wear-main
Desenvolvimento e teste
O desenvolvimento em contrib tem a mesma qualidade que em qualquer outro lugar nos repositórios do Android:
- Respeitar as diretrizes de formatação do Android
- O código é testado e enviado com testes
- O design é inteligente e faz sentido
Como faço testes locais na contribuição?
AOSP
No AOSP, os testes de unidade de contrib ficam em platform/tools/tradefederation/contrib/tests/src/ e precisam ser adicionados a com.android.tradefed.prodtests.UnitTests para serem detectados em scripts de pré-envio e testes locais.
Scripts locais do AOSP após a execução do lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Atualização das regras de build para projetos de contribuição
As regras de build (makefiles) estão na própria pasta build/
e são bloqueadas por um arquivo OWNERS
, que impede a modificação sem uma revisão extra da equipe principal. Essa é a única limitação do projeto de contribuição.
Precisamos dessa revisão para garantir que nenhuma dependência inesperada seja adicionada aos
projetos gerais do Tradefed sem o conhecimento ou a concordância da equipe principal.
Se você realmente precisar adicionar novas dependências, entre em contato com android-tradefed@
para analisar seus casos de uso e dar orientações.