Pour permettre aux équipes qui contribuent à la source non principale des projets Tradefederation de s'approprier entièrement le processus d'examen, les projets suivants ont été créés avec des droits +2 ouverts pour toutes les équipes. Cela permet à l'équipe principale de Tradefederation de ne plus avoir à effectuer toutes les révisions 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.
La source non principale est définie comme un code qui n'est pas nécessaire au bon fonctionnement du framework tradefederation (par exemple, tests personnalisés, configurations, utilitaires de test spécifiques).
IMPORTANT Les sources non principales ne doivent pas étendre les classes Tradefederation principales. Cela aura un impact sur les futures refactorisations/nettoyages. Si vous ne savez pas si votre code appartient à core ou contrib, contactez android-tradefed@ pour obtenir des éclaircissements. L'équipe principale de Tradefederation se fera un plaisir de vous conseiller et de recevoir vos demandes de fonctionnalités.
Un exemple de classe Tradefederation de base serait n'importe quelle classe du package
com.google.android.tradefed.build
, comme :com.google.android.tradefed.build.LaunchControlProvider
Une fois encore, veuillez nous contacter à l'adresse android-tradefed@ si vous ne savez pas ce qui est considéré comme une classe principale.
[TOC]
Chemins d'accès aux projets de contribution
À qui s'adressent ces projets de contribution ?
Si vous travaillez actuellement dans les projets tradefederation pour écrire des tests/utilitaires de test/configurations, ces projets ont été créés pour vous.
Revues de code dans les projets de contribution
L'objectif des projets de contribution est de vous permettre de développer dans Tradefed sans avoir besoin de l'examen de l'équipe principale (android-tradefed@). Nous attendons donc de votre équipe ou de toute personne connaissant votre contexte qu'elle effectue les révisions de code sur vos CL.
N'hésitez pas à contacter android-tradefed@ si vous êtes bloqué ou si vous avez besoin d'aide pour un cas particulier, mais ne vous y fiez pas par défaut pour effectuer votre revue de code dans contrib. L'équipe Tradefed n'a pas de SLO pour les revues de code dans contrib.
Où puis-je commencer à travailler sur ces projets ?
Ils ont été ajoutés aux manifestes de branche suivants et font déjà partie du paiement de la plate-forme principale. Si vous ne voyez pas les projets dans votre environnement, vous pouvez contribuer en synchronisant le dépôt.
- 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 est censé avoir le même niveau de qualité que partout ailleurs dans les dépôts Android :
- Respecter les consignes de mise en forme d'Android
- Le code est testé et envoyé avec des tests
- La conception est réfléchie et logique
Comment tester localement 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 inclus dans les scripts de pré-soumission et de test local.
Scripts locaux AOSP après l'exécution de lunch :
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Mettre à jour les règles pour les projets de contribution
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 un examen supplémentaire de l'équipe principale. Il s'agit de la seule limite du projet contrib.
Nous avons besoin de cet examen pour nous assurer qu'aucune dépendance inattendue n'est ajoutée aux projets Tradefed globaux sans que l'équipe principale en soit informée ou ait donné son accord.
Si vous avez vraiment besoin d'ajouter de nouvelles dépendances, veuillez contacter android-tradefed@
pour qu'il examine vos cas d'utilisation et vous conseille.