Tragen Sie Nicht-Kerncode bei

Um Teams, die nicht zum Kerngeschäft gehörende Quellen zu den Tradefederation-Projekten beitragen, die volle Verantwortung für den Überprüfungsprozess zu ermöglichen, wurden die folgenden Projekte mit offenen +2-Rechten für alle Teams erstellt. Dies entlastet das Tradefederation-Kernteam von der Last aller Codeüberprüfungen, die nichts mit dem Kern-Framework zu tun haben, und ermöglicht gleichzeitig den anderen Teams, in ihrem Überprüfungszyklus schneller zu iterieren.

Nicht zum Kern gehörender Quellcode ist als Code definiert, der für das Tradefederation-Framework nicht erforderlich ist, um funktionsfähig zu sein (z. B. benutzerdefinierte Tests, Konfigurationen, bestimmte Testdienstprogramme).

WICHTIG Nicht-Kern-SRC sollte keine Kern-Tradefederation-Klassen erweitern. Dies wirkt sich auf zukünftige Umgestaltungen/Bereinigungen aus. Wenn Sie sich nicht sicher sind, ob Ihr Code zu core oder contrib gehört, wenden Sie sich zur Klärung an android-tradefed@. Das Kernteam der Tradefederation berät Sie gerne und nimmt Funktionsanfragen entgegen.

Ein Beispiel für eine Tradefederation-Kernklasse wäre eine beliebige Klasse im Paket com.google.android.tradefed.build wie: com.google.android.tradefed.build.LaunchControlProvider

Bitte wenden Sie sich erneut an uns, wenn Sie sich nicht sicher sind, was als Kernklasse für android-tradefed@ gelten würde.

[Inhaltsverzeichnis]

Pfade der Contrib-Projekte

Für wen sind diese Beitragsprojekte gedacht?

Wenn Sie derzeit in den Tradefederation-Projekten arbeiten und Tests/Testdienstprogramme/Konfigurationen schreiben, wurden diese Projekte für Sie erstellt.

Codeüberprüfungen in Contrib-Projekten

Das Ziel der Contrib-Projekte besteht darin, Ihnen die Entwicklung in Tradefed zu ermöglichen, ohne dass die Überprüfung durch das Kernteam (android-tradefed@) erforderlich ist. Wir erwarten daher, dass Ihr Team oder jemand, der mit Ihrem Kontext vertraut ist, die Codeüberprüfungen Ihrer CLs durchführt.

Wenden Sie sich immer gerne an android-tradefed@, wenn Sie nicht weiterkommen oder Hilfe zu einem bestimmten Fall benötigen, aber verlassen Sie sich bei der Codeüberprüfung in contrib nicht standardmäßig darauf. Das Tradefed-Team hat keinen SLO, wenn es um Codeüberprüfungen in Beiträgen geht.

Wo kann ich mit der Arbeit an diesen Projekten beginnen?

Sie wurden zu den folgenden Zweigmanifesten hinzugefügt und sind bereits Teil des Hauptplattform-Checkouts. Wenn Sie also die Projekte in Ihrer Umgebung nicht sehen, sind Sie nur eine Repo-Synchronisierung von Beiträgen entfernt.

  • hauptsächlich
  • gehandelt
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • Haupt-Daydream-Entwickler
  • Haupt-ohne-Anbieter
  • tragen-main

Entwicklung und Tests

Es wird erwartet, dass die Entwicklung in contrib die gleiche Qualitätsgrenze aufweist wie überall sonst in den Android-Repositories:

  • Beachten Sie die Android-Formatierungsrichtlinien
  • Code wird getestet und mit Tests eingereicht
  • Design ist durchdacht und macht Sinn

Wie teste ich lokal in Contrib?

AOSP

In AOSP befinden sich Unit-Tests von Contrib in platform/tools/tradefederation/contrib/tests/src/ und Unit-Tests sollten zu com.android.tradefed.prodtests.UnitTests hinzugefügt werden, um in Presubmit- und lokalen Testskripten übernommen zu werden.

Lokale AOSP-Skripte nach dem Ausführen des Mittagessens:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Aktualisierung der Build-Regeln, um Projekte beizutragen

Die Build-Regeln (Makefiles) befinden sich in ihrem eigenen build/ -Ordner und sind durch eine OWNERS Datei gesperrt, die Sie daran hindert, sie ohne eine zusätzliche Überprüfung durch das Kernteam zu ändern. Dies ist die einzige Einschränkung für das Contrib-Projekt.

Wir benötigen diese Überprüfung, um sicherzustellen, dass ohne das Wissen oder die Zustimmung des Kernteams keine unerwarteten Abhängigkeiten zu den gesamten Tradefed-Projekten hinzugefügt werden. Wenn Sie wirklich das Hinzufügen neuer Abhängigkeiten benötigen, wenden Sie sich bitte an android-tradefed@ um Ihre Anwendungsfälle zu prüfen und Sie zu beraten.