Contribuir com código não essencial

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.