Per consentire ai team che contribuiscono al codice sorgente non principale dei progetti tradefederation di avere la piena proprietà del processo di revisione, sono stati creati i seguenti progetti con diritti +2 aperti per tutti i team. In questo modo, il team principale di tradefederation non deve occuparsi di tutte le revisioni del codice non correlate al framework principale, mentre gli altri team possono eseguire iterazioni più rapide nel ciclo di revisione.
Il codice sorgente non principale è definito come codice non richiesto dal framework tradefederation per essere funzionale (ad es. test personalizzati, configurazioni, utilità di test specifiche).
IMPORTANTE Il codice sorgente non principale non deve estendere le classi tradefederation principali. In caso contrario, si verificheranno problemi con il refactoring/la pulizia futuri. Se non sai se il tuo codice appartiene al codice principale o a quello di contribuzione, contatta android-tradefed@ per chiarimenti. Il team principale di tradefederation è felice di fornire consigli e ricevere richieste di funzionalità.
Un esempio di classe tradefederation principale è qualsiasi classe nel
com.google.android.tradefed.buildpacchetto, ad esempio:com.google.android.tradefed.build.LaunchControlProviderAnche in questo caso, contatta android-tradefed@ se non sai cosa è considerato una classe principale.
[TOC]
Percorsi dei progetti di contribuzione
A chi sono rivolti questi progetti di contribuzione?
Se attualmente lavori nei progetti tradefederation scrivendo test, utilità di test o configurazioni, questi progetti sono stati creati per te.
Revisioni del codice nei progetti di contribuzione
L'obiettivo dei progetti di contribuzione è consentirti di sviluppare in Tradefed senza richiedere la revisione del team principale (android-tradefed@). Pertanto, ci aspettiamo che il tuo team o chiunque conosca il tuo contesto esegua le revisioni del codice sulle tue CL.
Non esitare a contattare android-tradefed@ se hai bisogno di aiuto o indicazioni su un caso specifico, ma non fare affidamento su questo indirizzo per eseguire la revisione del codice in contribuzione. Il team di Tradefed non ha SLO per quanto riguarda le revisioni del codice in contribuzione.
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, devi solo eseguire una sincronizzazione del repository per contribuire.
- main
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- main-without-vendor
- wear-main
Sviluppo e test
Lo sviluppo in contribuzione deve avere la stessa qualità di qualsiasi altro repository Android:
- Rispetta le linee guida per la formattazione di Android
- Il codice viene testato e inviato con i test
- La progettazione è ponderata e ha senso
Come faccio a eseguire test in locale in contribuzione?
AOSP
In AOSP, gli unit test di contribuzione si trovano in platform/tools/tradefederation/contrib/tests/src/ e devono essere aggiunti a com.android.tradefed.prodtests.UnitTests per essere inclusi negli script di test locali e di pre-invio.
Script locali di AOSP dopo l'esecuzione di lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Aggiornamento delle regole di build ai progetti di contribuzione
Le regole di build (makefile) si trovano nella propria cartella build/ e sono bloccate da un file OWNERS che impedisce di modificarle senza una revisione aggiuntiva del team principale. Questa è l'unica limitazione del progetto di contribuzione.
Abbiamo bisogno di questa revisione per assicurarci che non vengano aggiunte dipendenze impreviste ai progetti Tradefed complessivi 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 fornirti consigli.