Fornisci codice non principale

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 a più di due utenti 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.

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

IMPORTANTE La sorgente non di base non deve estendere le classi di 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 della federazione è lieto di fornire consigli e ricevere richieste di funzionalità.

Un esempio di classe principale della federazione è qualsiasi classe nel pacchetto com.google.android.tradefed.build, come: 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 destinati questi progetti di contributo?

Se al momento lavori nei progetti 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
  • sviluppo oc
  • 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 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 consigliare.