Per consentire ai team che contribuiscono con codice non principale ai progetti tradefederation di avere la piena proprietà della procedura di revisione, sono stati creati i seguenti progetti con diritti di accesso aperti +2 per tutti i team. In questo modo, il team di tradefederation di base viene sollevato dal compito di eseguire tutte le revisioni del codice non correlate al framework di base, consentendo al contempo agli altri team di eseguire più rapidamente l'iterazione nel ciclo di revisione.
Per src non di base si intende il codice che non è richiesto dal framework di TradeFederation per essere funzionale (ad es. test personalizzati, configurazioni, utilità di test specifiche).
IMPORTANTE La classe src non di base non deve estendere le classi tradefederation di base. Questa operazione influisce sul refactoring/pulizia futuri. Se non sai con certezza se il tuo codice appartiene a core o contrib, contatta android-tradefed@ per chiarimenti. Il team principale di TradeFederation è a tua disposizione per fornirti consulenza e ricevere richieste di funzionalità.
Un esempio di classe tradefederation di base è qualsiasi classe nel
com.google.android.tradefed.build
pacchetto, ad esempio:com.google.android.tradefed.build.LaunchControlProvider
Ti invitiamo a contattarci di nuovo se non sai con certezza cosa viene considerato una classe di base per android-tradefed@.
[TOC]
Percorsi dei progetti Contrib
A chi sono rivolti questi progetti di contributo?
Se al momento lavori nei progetti di tradefederation scrivendo test/strumenti di test/configurazioni, questi progetti sono stati creati per te.
Revisioni del codice nei progetti contrib
Lo scopo dei progetti contrib è consentirti di eseguire lo sviluppo in TradeFed senza dover richiedere la revisione del team di base (android-tradefed@). Pertanto, ci aspettiamo che il tuo team o chiunque abbia familiarità con il tuo contesto esegua le revisioni del codice sulle tue richieste di pull.
Non esitare a contattare android-tradefed@ se hai bisogno di assistenza o se hai difficoltà con un caso specifico, ma non fare affidamento su questo indirizzo per impostazione predefinita per la revisione del codice in contrib. Il team di TradeFed non ha uno SLO per le revisioni del codice in contrib.
Dove posso iniziare a lavorare a questi progetti?
Sono stati aggiunti ai manifest dei seguenti branch e fanno già parte del controllo della piattaforma principale, quindi se non vedi i progetti nel tuo ambiente, manca solo la sincronizzazione del repository per poter contribuire.
- principale
- 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 contrib dovrebbe avere lo stesso standard di qualità di qualsiasi altro punto nei repository Android:
- Rispetta le linee guida per la formattazione di Android
- Il codice viene testato e inviato con i test
- Il design è studiato e ha senso
Come faccio a eseguire test locali in contrib?
AOSP
In aosp, i test di unità di contrib si trovano in platform/tools/tradefederation/contrib/tests/src/ e i test di unità devono essere aggiunti a com.android.tradefed.prodtests.UnitTests per essere rilevati negli script di test pre-invio e locali.
Script locali Aosp dopo l'esecuzione di lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Aggiornamento delle regole di compilazione ai progetti contrib
Le regole di compilazione (makefile) si trovano nella propria cartella build/
e sono bloccate da un file OWNERS
che impedisce di modificarle senza un'ulteriore revisione da parte del team di base. Questa è l'unica limitazione del progetto contrib.
Abbiamo bisogno di questa revisione per assicurarci che non vengano aggiunte dipendenze impreviste ai progetti TradeFed complessivi senza la conoscenza o l'approvazione del team di base.
Se hai davvero bisogno di aggiungere nuove dipendenze, contatta
android-tradefed@
per esaminare i tuoi casi d'uso e ricevere consigli.