Udostępnianie kodu spoza podstawowego zestawu

Aby umożliwić zespołom, które przypisują do projektów federacji wartość podstawową, prawa do zasobu innego niż podstawowe, zostały utworzone następujące projekty z otwartymi uprawnieniami +2 dla wszystkich zespołów. Pozwala to odciążyć podstawowy zespół federacji zawodowej ze wszystkich weryfikacji kodu niezwiązanego z podstawową platformą, a jednocześnie umożliwia innym zespołom szybszą weryfikację w cyklu weryfikacji.

Słowo kluczowe spoza podstawowego zestawu danych to kod, który nie jest wymagany do działania w ramach federacji handlu detalicznego (np. niestandardowe testy, konfiguracje, określone narzędzia testowe).

WAŻNE: niestandardowe źródła nie powinny rozszerzać podstawowych klas tradefederation. Wpływa to na przyszłe refaktoryzację i oczyszczanie. Jeśli nie masz pewności, czy Twój kod należy do kategorii core czy contrib, skontaktuj się z adresem android-tradefed@, aby uzyskać wyjaśnienie. Główny zespół tradefederation chętnie udzieli Ci porad i rozpatrzy Twoje prośby o dodanie funkcji.

Przykładem klasy podstawowej tradefederation jest dowolna klasa w pakiecie com.google.android.tradefed.build, np.: com.google.android.tradefed.build.LaunchControlProvider

Jeśli nie wiesz, co jest uważane za podstawową klasę, skontaktuj się z adresem android-tradefed@.

[SPIS TREŚCI]

Ścieżki projektów Contrib

Dla kogo są przeznaczone te projekty?

Jeśli obecnie pracujesz nad projektami tradefederation, tworząc testy, narzędzia testowe lub konfiguracje, te projekty zostały stworzone właśnie dla Ciebie.

Weryfikacja kodu w projektach contrib

Celem projektów contrib jest umożliwienie Ci tworzenia w Tradefed bez konieczności sprawdzania przez zespół główny (android-tradefed@). Oczekujemy, że Twój zespół lub inna osoba znająca Twój kontekst przeprowadzi przeglądy kodu w Twoich CL.

Jeśli utkniesz lub będziesz potrzebować wskazówek dotyczących konkretnego przypadku, skontaktuj się z adresem android-tradefed@. Nie polegaj jednak na nim domyślnie podczas sprawdzania kodu w contrib. Zespół Tradefed nie ma docelowego poziomu usług w przypadku przeglądów kodu w repozytorium contrib.

Gdzie mogę zacząć pracę nad tymi projektami?

Zostały one dodane do tych manifestów gałęzi i są już częścią głównego procesu weryfikacji platformy. Jeśli więc nie widzisz tych projektów w swoim środowisku, wystarczy zsynchronizować repozytorium, aby móc je dodać.

  • główny
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • główny-bez-dostawcy
  • Wear-main

Programowanie i testowanie

Oczekuje się, że rozwój w repozytorium contrib będzie spełniał te same wymagania dotyczące jakości co w innych repozytoriach Androida:

  • Przestrzegaj wytycznych dotyczących formatowania Androida
  • Kod jest testowany i przesyłany z testami
  • Projekt jest przemyślany i ma sens.

Jak przeprowadzić test lokalny w contrib?

AOSP

Testy jednostkowe znajdują się na platformie platform/tools/tradefederation/contrib/tests/src/, a testy jednostkowe należy dodać do com.android.tradefed.prodtests.UnitTests. Można je pobrać w skryptach przed przesłaniem i lokalnie.

Lokalne skrypty uruchamiane po uruchomieniu lunchu:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Aktualizacja reguł kompilacji w celu przesyłania projektów

Reguły kompilacji (makefiles) znajdują się w osobnym folderze build/ i są zablokowane w pliku OWNERS, przez co nie można ich modyfikować bez dodatkowej weryfikacji ze strony głównego zespołu. To jedyne ograniczenie dotyczące projektu contrib.

Potrzebujemy tej weryfikacji, aby mieć pewność, że do projektów Tradefed nie zostaną dodane nieoczekiwane zależności bez wiedzy lub zgody zespołu głównego. Jeśli naprawdę potrzebujesz dodania nowych zależności, skontaktuj się z android-tradefed@, aby przeanalizować przypadki użycia i otrzymać poradę.