Para permitir que as equipes que contribuem com src não essencial para os projetos da federação de comércio tenham total propriedade do processo de revisão, os projetos a seguir foram criados com direitos abertos de +2 para todas as equipes. Isso alivia a equipe principal da federação de comércio do fardo 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 em seu ciclo de revisão.
O src não-núcleo é definido como código que não é exigido pela estrutura da federação comercial para ser funcional (por exemplo, testes personalizados, configurações, utilitários de teste específicos).
IMPORTANTE src não-núcleo não deve estender as classes centrais da federação. Isso afeta a refatoração/limpeza futura. Se você não tiver certeza se seu código pertence ao core ou contrib, entre em contato com android-tradefed@ para esclarecimentos. A equipe central da federação comercial tem prazer em aconselhar e receber solicitações de recursos.
Um exemplo de classe central de federação comercial 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 do Contrib
Para quem são esses projetos de contribuição?
Se você trabalha atualmente nos projetos da federação de comércio escrevendo testes/utilitários de teste/configurações, esses projetos foram criados para você.
Revisões de código em projetos contrib
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 qualquer pessoa familiarizada com seu contexto realize as revisões de código em seus CLs.
Sempre sinta-se à vontade para entrar em contato com android-tradefed@ se estiver travado ou precisar de orientação em um caso específico, mas não confie nele por padrão para fazer sua revisão de código no contrib. A equipe do Tradefed não tem SLO quando se trata de revisões de código no contrib.
Por onde posso começar a trabalhar nesses projetos?
Eles foram adicionados aos manifestos de ramificação a seguir e já fazem parte do check-out da plataforma mestre, portanto, se você não vir os projetos em seu ambiente, estará a uma sincronização de repositório longe de contribuir.
- mestre
- comercializado
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- master-daydream-dev
- mestre-sem-fornecedor
- mestre do desgaste
Desenvolvimento e Teste
Espera-se que o desenvolvimento no contrib tenha a mesma barra de 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 é pensativo e faz sentido
Como 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 devem ser adicionados a com.android.tradefed.prodtests.UnitTests para serem coletados em scripts de teste local e pré-envio.
Scripts locais 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 compilaçã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 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 que algumas novas dependências sejam adicionadas, entre em contato com android-tradefed@
para analisar seus casos de uso e aconselhá-lo.