Nicht-Hauptcode beitragen

Die folgenden Projekte wurden mit offenen +2-Rechten für alle Teams erstellt, um Teams zu ermöglichen, die nicht die Kernressourcen der Wirtschaftsföderationsprojekte zur vollständigen Kontrolle des Überprüfungsprozesses beisteuern. So wird das Tradefederation-Kernteam von der Last aller Codeüberprüfungen entlastet, die sich nicht auf das Kernframework beziehen, und die anderen Teams können ihren Überprüfungszyklus schneller iterieren.

Nicht zum Kern gehörender Code ist Code, der für die Funktion des Tradefederation-Frameworks nicht erforderlich ist (z.B. benutzerdefinierte Tests, Konfigurationen, bestimmte Test-Dienstprogramme).

WICHTIG: Nicht zum Kern gehörende „src“-Elemente dürfen die Kernklassen der Trade Federation nicht erweitern. Dies wirkt sich auf zukünftiges Refactoring/Bereinigen aus. Wenn Sie sich nicht sicher sind, ob Ihr Code in „core“ oder „contrib“ gehört, wenden Sie sich bitte an android-tradefed@. Das Tradefederation-Team berät Sie gern und nimmt Funktionsanfragen entgegen.

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

Wenden Sie sich bitte an uns, wenn Sie sich nicht sicher sind, welche Klasse als Kernklasse für android-tradefed@ gilt.

[TOC]

Pfade zu Contrib-Projekten

Für wen sind diese Contrib-Projekte gedacht?

Wenn Sie derzeit in den Handelsföderationsprojekten arbeiten, die Tests/Testdienstprogramme/Konfigurationen schreiben, wurden diese Projekte für Sie erstellt.

Codeüberprüfungen in Contrib-Projekten

Mit den Contrib-Projekten können Sie in Tradefed entwickeln, ohne dass die Änderungen vom Kernteam (android-tradefed@) überprüft werden müssen. Wir erwarten daher, dass Ihr Team oder eine Person, die mit Ihrem Kontext vertraut ist, die Codeüberprüfungen für Ihre CLs durchführt.

Wenn Sie nicht weiterkommen oder Hilfe bei einem bestimmten Fall benötigen, können Sie sich jederzeit an android-tradefed@ wenden. Sie sollten jedoch nicht standardmäßig darauf zurückgreifen, um Ihre Codeüberprüfung in contrib durchzuführen. Tradefed Team hat kein SLO für Codeüberprüfungen in Contrib.

Wo kann ich mit der Arbeit an diesen Projekten beginnen?

Sie wurden den folgenden Branch-Manifesten hinzugefügt und sind bereits Teil der Hauptplattform-Checkout-Version. Wenn du die Projekte also nicht in deiner Umgebung siehst, musst du nur noch eine Repository-Synchronisierung durchführen, um Beiträge zu leisten.

  • Hauptnummer
  • tradefed
  • Ok-Dev
  • Oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • main-without-vendor
  • wear-main

Entwicklung und Tests

Die Entwicklung in contrib muss denselben Qualitätsstandard erfüllen wie in allen anderen Android-Repositories:

  • Die Android-Formatierungsrichtlinien einhalten
  • Code wird getestet und mit Tests eingereicht
  • Das Design ist durchdacht und ergibt Sinn

Wie teste ich lokal in contrib?

AOSP

In aosp befinden sich die Komponententests von contrib unter platform/tools/tradefederation/contrib/tests/src/. Komponententests sollten com.android.tradefed.prodtests.UnitTests hinzugefügt werden, damit sie in Presubmit- und lokalen Testscripts berücksichtigt werden.

Lokale Aosp-Scripts nach dem Ausführen von „lunch“:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Aktualisierung der Build-Regeln für Contrib-Projekte

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

Wir benötigen diese Überprüfung, um sicherzustellen, dass den Tradefed-Projekten insgesamt keine unerwarteten Abhängigkeiten hinzugefügt werden, ohne dass das Kernteam davon weiß oder zustimmt. Wenn Sie wirklich neue Abhängigkeiten hinzufügen müssen, wenden Sie sich an android-tradefed@, um sich Ihre Anwendungsfälle anzusehen und Sie zu beraten.