Para permitir que as equipes que contribuem com src não essenciais para os projetos da tradefederation tenham total propriedade do processo de revisão, os seguintes projetos foram criados com direitos +2 abertos para todas as equipes. Isso alivia a equipe central da tradefederation da carga de todas as revisões de código não relacionadas à estrutura principal, ao mesmo tempo que permite que as outras equipes iterem mais rapidamente em seu ciclo de revisão.
src não essencial é definido como código que não é exigido pela estrutura da tradefederation para ser funcional (por exemplo, testes personalizados, configurações, utilitários de teste específicos).
IMPORTANTE O src não essencial não deve estender as classes principais da tradefederation. Fazer isso impacta a refatoração/limpeza futura. Se você não tiver certeza se o seu código pertence ao núcleo ou ao contrib, entre em contato com android-tradefed@ para esclarecimentos. A equipe principal da tradefederation terá prazer em aconselhar e receber solicitações de recursos.
Um exemplo de classe principal de tradefederation seria qualquer classe no pacote
com.google.android.tradefed.build
como:com.google.android.tradefed.build.LaunchControlProvider
Novamente, 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ê atualmente trabalha em projetos da tradefederation escrevendo testes/utilitários de teste/configuração, esses projetos foram criados para você.
Revisões de código em projetos de contribuição
O objetivo dos projetos contrib é permitir que você faça desenvolvimento no Tradefed sem precisar da revisão da equipe principal (android-tradefed@). Portanto, esperamos que sua equipe ou alguém familiarizado com seu contexto realize as revisões de código em seus CLs.
Sinta-se sempre à vontade para entrar em contato com android-tradefed@ se 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 no contrib. A equipe Tradefed não tem SLO quando se trata de revisões de código no contrib.
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 vir os projetos em seu ambiente, estará a uma sincronização do repositório de contribuir.
- principal
- negociado
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- principal sem fornecedor
- desgaste principal
Desenvolvimento e testes
Espera-se que o desenvolvimento no contrib tenha a mesma barra de qualidade de qualquer outro lugar nos repositórios Android:
- Respeite as diretrizes de formatação do Android
- O código é testado e enviado com testes
- O design é atencioso e faz sentido
Como faço para testar localmente no contrib?
AOSP
No aosp, os testes unitários de contrib estão localizados em platform/tools/tradefederation/contrib/tests/src/ e os testes unitários devem ser adicionados a com.android.tradefed.prodtests.UnitTests para serem obtidos em scripts de pré-envio e de teste local.
Roteiros locais do Aosp após o almoço:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Atualização de regras de compilação para projetos de contribuição
As regras de construção (makefiles) estão em sua própria pasta build/
e bloqueadas por um arquivo OWNERS
que impedirá que você as modifique sem uma revisão extra da equipe principal. Esta é a única limitação do projeto contrib.
Precisamos desta revisão para garantir que não sejam adicionadas dependências inesperadas aos projectos globais do Tradefed sem o conhecimento ou acordo da equipa principal. Se você realmente precisa adicionar novas dependências, entre em contato com android-tradefed@
para analisar seus casos de uso e aconselhá-lo.