Contribuir com código não principal

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.build pacote como: com.google.android.tradefed.build.LaunchControlProvider

Entre 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.