Para permitir que as equipes que contribuem com src não principal para os projetos de negociação de comércio tenham propriedade total do processo de revisão, os projetos a seguir foram criados com direitos +2 abertos para todas as equipes. Isso alivia a equipe principal da tradefederation da carga de todas as revisões de código não relacionadas à estrutura principal, permitindo que as outras equipes iterem mais rapidamente no ciclo de revisão.
Src não principal é definido como código que não é necessário para que o framework tradefederation seja funcional (por exemplo, testes personalizados, configurações, utilitários específicos de teste).
IMPORTANTE: os src não principais não podem estender as classes principais da federação. Isso afeta a refatoração/limpeza futura. Se você não tiver certeza se o código pertence ao core ou ao contrib, entre em contato com android-tradefed@ para esclarecimentos. A equipe principal da Trade Federation vai adorar receber e aconselhar sobre 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
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 em projetos de tradefederation escrevendo testes/utilitários/configurações de teste, esses projetos foram criados para você.
Análises de código em projetos contrib
O objetivo dos projetos de contribuição é permitir que você faça o desenvolvimento 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 análises de código nas CLs.
Entre em contato com o endereço de e-mail 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 a análise do código no 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 manifestos de ramificação a seguir e já fazem parte da finalização da compra da plataforma principal. Portanto, se você não encontrar os projetos no seu ambiente, há uma sincronização de repositório ausente de contribuir.
- principal
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-osp
- main-daydream-dev
- main-without-vendor
- wear-main
Desenvolvimento e teste
O desenvolvimento em "Contribu" precisa ter a mesma barra de qualidade que qualquer outro local nos repositórios do Android:
- Respeite as diretrizes de formatação do Android
- O código é testado e enviado com testes
- O design é inteligente e faz sentido
Como faço para testar localmente no contrib?
AOSP
No AOSP, os testes de unidade de contrib estão localizados em platform/tools/tradefederation/contrib/tests/src/ e os testes de unidade precisam ser adicionados a com.android.tradefed.prodtests.UnitTests para serem coletados nos scripts de pré-envio e de teste local.
Scripts locais do Aosp após a execução do almoço:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Atualização das regras de build para projetos contrib
As regras de build (makefiles) estão na própria pasta build/
e bloqueadas por um
arquivo OWNERS
que impede que você as modifique sem uma revisão extra
da equipe principal. Essa é a única limitação ao projeto de contribuição.
Precisamos dessa análise 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 que algumas novas dependências sejam adicionadas, entre em contato com
android-tradefed@
para analisar seus casos de uso e dar conselhos.