Para permitir que as equipes que contribuem com src não essencial para os projetos do Tradefederation tenham total propriedade do processo de revisão, os projetos a seguir foram criados com direitos abertos +2 para todas as equipes. Isso alivia a equipe principal do Tradefederation do ônus de todas as revisões de código não relacionadas à estrutura principal, ao mesmo tempo em que permite que as outras equipes iterem mais rapidamente no ciclo de revisão.
Src não essencial é definido como um código que não é exigido pela estrutura do Tradefederation para ser funcional (por exemplo, testes personalizados, configurações, utilitários de teste específicos).
IMPORTANTE : o src não essencial não pode estender as classes principais do Tradefederation. Isso afeta a refatoração/limpeza futura. Se você não tiver certeza se o código pertence ao principal ou ao contrib, entre em contato com android-tradefed@ para esclarecimentos. A equipe principal do Tradefederation terá prazer em aconselhar e receber solicitações de recursos.
Um exemplo de classe principal do Tradefederation seria qualquer classe no
com.google.android.tradefed.buildpacote como:com.google.android.tradefed.build.LaunchControlProviderEntre em contato se não souber o 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 de teste/configurações, 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@). Portanto, esperamos que sua equipe ou qualquer pessoa familiarizada com seu contexto realize as revisões de código nas suas CLs.
Sinta-se à vontade para entrar em contato com android-tradefed@ se estiver preso 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ção.
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 no seu ambiente, estará a uma sincronização de repositório de 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 contribuição precisa ter a mesma qualidade que em qualquer outro lugar nos repositórios do 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 em contribuição?
AOSP
No AOSP, os testes de unidade de contribuição estão localizados em platform/tools/tradefederation/contrib/tests/src/ e precisam ser adicionados a com.android.tradefed.prodtests.UnitTests para serem selecionados em scripts de teste local e de pré-envio.
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 que você as modifique 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 acordo da equipe principal.
Se você realmente precisar adicionar novas dependências, entre em contato com android-tradefed@ para analisar seus casos de uso e aconselhá-lo.