Contribuisci con codice non core

Per consentire ai team che contribuiscono a src non core ai progetti della federazione commerciale la piena proprietà del processo di revisione, i seguenti progetti sono stati creati con diritti +2 aperti per tutti i team. Ciò solleva il team principale della tradefederation dall'onere di tutte le revisioni del codice non correlate al framework principale, consentendo allo stesso tempo agli altri team di iterare più velocemente nel loro ciclo di revisione.

src non core è definito come codice che non è richiesto dal framework della federazione commerciale per essere funzionale (ad esempio test personalizzati, configurazioni, utilità di test specifiche).

IMPORTANTE src non core non dovrebbe estendere le classi core della tradefederation. Ciò influisce sul futuro refactoring/pulizia. Se non sei sicuro che il tuo codice appartenga a core o contrib, contatta android-tradefed@ per chiarimenti. Il team principale della federazione commerciale è felice di consigliare e ricevere richieste di funzionalità.

Un esempio di classe core tradefederation potrebbe essere qualsiasi classe nel pacchetto com.google.android.tradefed.build come: com.google.android.tradefed.build.LaunchControlProvider

Ancora una volta, ti preghiamo di contattarci se non ti è chiaro quale sarebbe considerata una classe principale per Android-tradefed@.

[TOC]

Percorsi dei progetti Contributi

A chi sono destinati questi progetti di contributo?

Se attualmente lavori nei progetti della federazione commerciale scrivendo test/utilità di test/configurazioni, questi progetti sono stati creati per te.

Revisioni del codice nei progetti contribuenti

L'obiettivo dei progetti contrib è consentirti di sviluppare in Tradefed senza bisogno della revisione del team principale (android-tradefed@). Quindi ci aspettiamo che il tuo team o chiunque abbia familiarità con il tuo contesto esegua le revisioni del codice sui tuoi CL.

Sentiti sempre libero di contattare android-tradefed@ se sei bloccato o hai bisogno di indicazioni su un caso particolare, ma non fare affidamento su di esso per impostazione predefinita per eseguire la revisione del codice in contrib. Il team di Tradefed non ha SLO quando si tratta di revisioni del codice in contrib.

Da dove posso iniziare a lavorare su questi progetti?

Sono stati aggiunti ai seguenti manifest dei rami e fanno già parte del checkout della piattaforma principale, quindi se non vedi i progetti nel tuo ambiente, sei a una sincronizzazione del repository dal contribuire.

  • principale
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • principale-senza-fornitore
  • usura principale

Sviluppo e test

Si prevede che lo sviluppo in contrib abbia la stessa qualità di qualsiasi altro punto dei repository Android:

  • Rispettare le linee guida sulla formattazione di Android
  • Il codice viene testato e inviato con test
  • Il design è accurato e ha senso

Come posso testare localmente in contrib?

AOSP

In aosp, gli unit test di contrib si trovano in platform/tools/tradefederation/contrib/tests/src/ e gli unit test devono essere aggiunti a com.android.tradefed.prodtests.UnitTests per essere raccolti negli script di preinvio e di test locali.

Script locali Aosp dopo aver eseguito il pranzo:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Aggiornamento delle regole di creazione per i progetti contribuenti

Le regole di compilazione (makefile) si trovano nella propria cartella build/ e bloccate da un file OWNERS che impedirà di modificarle senza un'ulteriore revisione da parte del team principale. Questa è l'unica limitazione al progetto contrib.

Abbiamo bisogno di questa revisione per garantire che non vengano aggiunte dipendenze impreviste ai progetti complessivi di Tradefed senza la conoscenza o l'accordo del team principale. Se hai davvero bisogno di aggiungere nuove dipendenze, contatta android-tradefed@ per esaminare i tuoi casi d'uso e consigliarti.