Contribuer au code non principal

Pour permettre aux équipes qui contribuent au service src non principal aux projets de la fédération l'ensemble du processus d'examen, les projets suivants ont été créés : avec des droits de +2 ouverts pour toutes les équipes. Cela décharge l'équipe principale de Trade Federation de la charge de toutes les révisions de code sans rapport avec le framework principal, tout en permettant aux autres équipes d'itérer plus rapidement dans leur cycle d'examen.

L'attribut src non principal est défini comme du code qui n'est pas requis par la fédération. qu'elle soit fonctionnelle (tests personnalisés, configurations, tests spécifiques, etc.). utilitaires).

IMPORTANT : Le tag src non principal ne doit pas étendre les classes de la fédération de base. Cela aura un impact sur les opérations de refactorisation/nettoyage futures. Si vous ne savez pas si votre code appartient au noyau ou à la contribution, contactez android-tradefed@ pour obtenir des précisions. L'équipe centrale de la fédération est heureuse de conseiller et de recevoir vos demandes de fonctionnalités.

Par exemple, n'importe quelle classe de la catégorie Exemples de packages com.google.android.tradefed.build: com.google.android.tradefed.build.LaunchControlProvider

Encore une fois, n'hésitez pas à nous contacter si vous ne savez pas ce qui est considéré comme une classe de base pour android-tradefed@.

[TOC]

Projets de contribution chemins

À qui s'adressent ces projets de contribution ?

Si vous travaillez actuellement dans les projets de la fédération, écrivez des tests/tests utilitaires/configurations, ces projets ont été créés pour vous.

Examens du 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 de base (android-tradefed@). Nous attendons donc de votre équipe ou de toute personne familière avec votre contexte qu'elle effectue les examens du code sur vos CL.

N'hésitez pas à contacter android-tradefed@ en cas de blocage ou si vous avez besoin de conseils un cas particulier, mais ne vous y fiez pas par défaut pour réviser le code contrib. L'équipe Tradefed n'a pas de SLO concernant les examens du code dans les contributions.

Par où puis-je commencer à travailler sur ces projets ?

Elles ont été ajoutées aux fichiers manifestes des branches suivantes et font déjà partie de la plate-forme principale. Si vous ne voyez pas les projets dans votre environnement, vous n'allez pas y contribuer.

  • principal
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • développeur-daydream main
  • principal-sans-fournisseur
  • wear-main

Développement et tests

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

  • Respecter les consignes de mise en forme Android
  • Le code est testé et envoyé avec des tests
  • Le design est réfléchi et logique

Comment effectuer des tests en local dans contrib ?

AOSP

Dans aosp, les tests unitaires de la contribution se trouvent dans platform/tools/tradefederation/contrib/tests/src/. Les tests unitaires doivent être ajoutés à com.android.tradefed.prodtests.UnitTests pour être détectés dans les scripts de présoumission et de test local.

Scénarios 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 de contribution

Les règles de compilation (makefiles) se trouvent dans leur propre dossier build/ et sont verrouillées par un OWNERS fichier qui vous empêchera de les modifier sans examen supplémentaire de l'équipe de base. Il s'agit de la seule limitation 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 l'accord ou la connaissance de l'équipe de base. Si vous avez vraiment besoin d'ajouter de nouvelles dépendances, veuillez contacter android-tradefed@ pour examiner vos cas d'utilisation et vous conseiller.