Contribuir com código não principal

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.