Contribuire con codice non di base

Per abilitare i team che contribuiscono all'implementazione non principale ai progetti della federazione la proprietà completa del processo di revisione, sono stati creati i seguenti progetti con diritti +2 aperti per tutti i team. Questo alleggerisce il team principale della federazione l'onere di tutte le revisioni del codice non correlate al framework di base e allo stesso tempo consentendo agli altri team di iterare più velocemente nel ciclo di revisione.

Un src non principale è definito come codice non richiesto dalla federazione che sia funzionale (ad es. test personalizzati, configurazioni, test utilità).

IMPORTANTE La sorgente non di base non deve estendere le classi di tradefederation di base. Questo ha un impatto sul futuro refactoring e pulizia. In caso di dubbi sul codice appartiene al ruolo principale o al contributo, 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

Anche in questo caso, non esitare a contattarci se hai dubbi su quale possa essere considerata una ad android-tradefed@.

[TOC]

Contrib projects percorsi

A chi sono destinati questi progetti di contributo?

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

Revisioni del codice nei progetti di contributo

L'obiettivo dei progetti di contributo è consentirti di sviluppare in Tradefed. senza bisogno della revisione 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 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 seguenti manifest di ramo e fanno già parte di pagamento sulla piattaforma principale. Se non vedi i progetti nel tuo ambiente, ti manca il contributo alla sincronizzazione dei repository.

  • principale
  • traffatto
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • principale-senza fornitore
  • 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 testare i contributi localmente?

AOSP

In alternativa, i test delle unità di misura del contributo si trovano platform/tools/tradefederation/contrib/tests/src/ e i test delle unità vanno aggiunti com.android.tradefed.prodtests.UnitTests deve essere selezionato negli script di test locali e precedenti all'invio.

Script locali Aosp dopo l'avvio del pranzo:

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.