Per consentire ai team che contribuiscono con src non core ai progetti Tradefed di avere la piena proprietà della procedura di revisione, sono stati creati i seguenti progetti con diritti +2 aperti per tutti i team. In questo modo, il team principale di Trade Federation non dovrà più occuparsi di tutte le revisioni del codice non correlate al framework principale, consentendo agli altri team di eseguire iterazioni più rapide nel ciclo di revisione.
Non-core src è definito come codice non richiesto dal framework tradefederation per essere funzionale (ad es. test personalizzati, configurazioni, utilità di test specifiche).
IMPORTANTE L'origine non principale non deve estendere le classi Trade Federation principali. In questo modo, si influisce sul refactoring/pulizia futuri. Se non sai se il tuo codice appartiene a core o contrib, contatta android-tradefed@ per chiarimenti. Il team principale di Tradefed è felice di fornire consulenza e ricevere richieste di funzionalità.
Un esempio di classe Tradefed di base è qualsiasi classe nel pacchetto
com.google.android.tradefed.build
, ad esempio:com.google.android.tradefed.build.LaunchControlProvider
Ti invitiamo a contattarci all'indirizzo android-tradefed@ se non ti è chiaro cosa possa essere considerato una classe di base.
[TOC]
Percorsi dei progetti contrib
A chi sono rivolti questi progetti di contribuzione?
Se attualmente lavori nei progetti tradefederation scrivendo test/utilità di test/configurazioni, questi progetti sono stati creati per te.
Revisioni del codice nei progetti di contribuzione
Lo scopo dei progetti contrib è quello di consentirti di eseguire lo sviluppo in Tradefed senza la necessità di una revisione da parte del team principale (android-tradefed@). Pertanto, ci aspettiamo che il tuo team o chiunque abbia familiarità con il tuo contesto esegua le revisioni del codice sulle tue CL.
Non esitare a contattare android-tradefed@ se hai difficoltà o hai bisogno di indicazioni su un caso particolare, ma non fare affidamento su questo indirizzo per la revisione del codice in contrib. Il team Tradefed non ha SLO per quanto riguarda le revisioni del codice in contrib.
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, ti basta sincronizzare il repository per iniziare a 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 deve avere lo stesso livello di qualità di qualsiasi altro nei repository Android:
- Rispetta le linee guida per la formattazione di Android
- Il codice viene testato e inviato con i test
- Il design è ben studiato e ha senso
Come faccio a eseguire test in locale in contrib?
AOSP
In AOSP, i test delle unità di contrib si trovano in platform/tools/tradefederation/contrib/tests/src/ e i test delle unità devono essere aggiunti a com.android.tradefed.prodtests.UnitTests per essere selezionati negli script di test locali e pre-invio.
Script locali AOSP dopo l'esecuzione di lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Creare un aggiornamento delle regole per i progetti di contributi
Le regole di compilazione (makefiles) si trovano nella cartella build/
e sono bloccate da un file OWNERS
che impedisce di modificarle senza un'ulteriore revisione da parte del team principale. Questa è l'unica limitazione al progetto Contrib.
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 consigliarti.