Contribuer au code non principal

Pour permettre aux équipes qui contribuent à des sources non essentielles aux projets tradefederation de disposer de la pleine propriété du processus de révision, les projets suivants ont été créés avec des droits d'accès ouverts +2 pour toutes les équipes. Cela permet à l'équipe tradefederation principale de ne plus avoir à effectuer toutes les revues de code non liées au framework principal, tout en permettant aux autres équipes d'itérer plus rapidement dans leur cycle de révision.

Une source non essentielle est définie comme un code qui n'est pas requis par le framework tradefederation pour fonctionner (par exemple, des tests personnalisés, des configurations, des utilitaires de test spécifiques).

IMPORTANT Les sources non essentielles ne doivent pas étendre les classes tradefederation principales. Cela a un impact sur les futures refactorisations/nettoyages. Si vous ne savez pas si votre code appartient à la catégorie "principal" ou "contrib", contactez android-tradefed@ pour obtenir des éclaircissements. L'équipe tradefederation principale se fera un plaisir de vous conseiller et de recevoir vos demandes de fonctionnalités.

Une classe tradefederation principale peut être n'importe quelle classe du com.google.android.tradefed.build package comme com.google.android.tradefed.build.LaunchControlProvider.

N'hésitez pas à contacter android-tradefed@ si vous ne savez pas ce qui serait considéré comme une classe principale.

[TOC]

Chemins d'accès des projets contrib

À qui s'adressent ces projets contrib ?

Si vous travaillez actuellement sur les projets tradefederation en écrivant des tests/utilitaires de test/configurations, ces projets ont été créés pour vous.

Revues de code dans les projets contrib

L'objectif des projets contrib est de vous permettre de développer dans Tradefed sans avoir besoin de la revue de l'équipe principale (android-tradefed@). Nous attendons donc de votre équipe ou de toute personne connaissant votre contexte qu'elle effectue les revues de code sur vos CL.

N'hésitez pas à contacter android-tradefed@ si vous êtes bloqué ou si vous avez besoin d'aide sur un cas particulier, mais ne vous fiez pas à cette adresse par défaut pour effectuer votre revue de code dans contrib. L'équipe Tradefed n'a pas de SLO en ce qui concerne les revues de code dans contrib.

Où puis-je commencer à travailler sur ces projets ?

Ils ont été ajoutés aux fichiers manifestes de branche suivants et font déjà partie de l'extraction de la plate-forme principale. Par conséquent, si vous ne voyez pas les projets dans votre environnement, vous n'avez plus qu'à effectuer une synchronisation de dépôt pour contribuer.

  • principal
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • main-without-vendor
  • wear-main

Développement et tests

Le développement dans contrib doit avoir le même niveau de qualité que partout ailleurs dans les dépôts Android :

  • Respectez les consignes de mise en forme Android.
  • Le code est testé et envoyé avec des tests.
  • La conception est réfléchie et logique.

Comment effectuer des tests en local dans contrib ?

AOSP

Dans AOSP, les tests unitaires de contrib se trouvent dans platform/tools/tradefederation/contrib/tests/src/ . Ils doivent être ajoutés à com.android.tradefed.prodtests.UnitTests pour être récupérés dans les scripts de test local et de pré-envoi.

Scripts locaux AOSP après l'exécution de lunch :

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Mise à jour des règles de compilation pour les projets contrib

Les règles de compilation (makefiles) se trouvent dans leur propre dossier build/ et sont verrouillées par un fichier OWNERS qui vous empêche de les modifier sans une revue supplémentaire de l'équipe principale. Il s'agit de la seule limite du projet contrib.

Nous avons besoin de cette revue pour nous assurer qu'aucune dépendance inattendue n'est ajoutée aux projets Tradefed globaux sans la connaissance ni l'accord de l'équipe principale. Si vous avez vraiment besoin d'ajouter de nouvelles dépendances, veuillez contacter android-tradefed@ pour examiner vos cas d'utilisation et vous conseiller.