Przekaż kod inny niż podstawowy

Aby umożliwić zespołom, które wnoszą wkład inny niż podstawowy src do projektów federacji handlowej, pełną odpowiedzialność za proces recenzji, utworzono następujące projekty z otwartymi prawami +2 dla wszystkich zespołów. Zwalnia to główny zespół federacji handlowej od ciężaru wszelkich przeglądów kodu niezwiązanych z podstawową strukturą, jednocześnie umożliwiając innym zespołom szybszą iterację w cyklu przeglądu.

Non-core src definiuje się jako kod, który nie jest wymagany przez framework federacji handlowej do działania (np. niestandardowe testy, konfiguracje, określone narzędzia testowe).

WAŻNE. Non-core src nie powinien rozszerzać podstawowych klas federacji handlowej. Ma to wpływ na przyszłą refaktoryzację/oczyszczanie. Jeśli nie masz pewności, czy Twój kod należy do rdzenia, czy do contrib, skontaktuj się z android-tradefed@ w celu uzyskania wyjaśnień. Główny zespół Tradefederation chętnie doradza i otrzymuje prośby o nowe funkcje.

Przykładową podstawową klasą Tradefederation może być dowolna klasa w pakiecie com.google.android.tradefed.build taka jak: com.google.android.tradefed.build.LaunchControlProvider

Ponownie skontaktuj się z nami, jeśli nie masz pewności, co można uznać za klasę podstawową dla Android-tradefed@.

[spis treści]

Ścieżki projektów Contrib

Dla kogo są te projekty współautorskie?

Jeśli obecnie pracujesz w projektach federacji branżowej pisząc testy/narzędzia testowe/konfiguracje, te projekty zostały stworzone dla Ciebie.

Recenzje kodu w projektach contrib

Celem projektów contrib jest umożliwienie rozwoju w Tradefed bez konieczności przeglądu głównego zespołu (android-tradefed@). Oczekujemy zatem, że Twój zespół lub inna osoba znająca Twój kontekst przeprowadzi przegląd kodu na Twoich listach CL.

Zawsze możesz skontaktować się z android-tradefed@, jeśli utkniesz lub potrzebujesz wskazówek w konkretnym przypadku, ale nie polegaj na nim domyślnie podczas sprawdzania kodu w contrib. Zespół Tradefed nie ma SLO, jeśli chodzi o recenzje kodu w ramach wkładu.

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

Zostały one dodane do następujących manifestów oddziałów i są już częścią realizacji transakcji na głównej platformie, więc jeśli nie widzisz projektów w swoim środowisku, synchronizacja repo jest daleka od współtworzenia.

  • główny
  • handlowany
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • główny-bez-sprzedawcy
  • zużycie-główne

Rozwój i testowanie

Oczekuje się, że rozwój w contrib będzie miał ten sam pasek jakości, co gdziekolwiek indziej w repozytoriach Androida:

  • Przestrzegaj wskazówek dotyczących formatowania Androida
  • Kod jest testowany i przesyłany za pomocą testów
  • Projekt jest przemyślany i ma sens

Jak testować lokalnie w contrib?

AOSP

W aosp testy jednostkowe contrib znajdują się w katalogu platform/tools/tradefederation/contrib/tests/src/, a testy jednostkowe należy dodać do com.android.tradefed.prodtests.UnitTests , aby można je było pobrać we wstępnych i lokalnych skryptach testowych.

Lokalne skrypty Aosp po uruchomieniu lunchu:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Aktualizacja reguł kompilacji w projektach współautorskich

Reguły kompilacji (pliki make) znajdują się w osobnym folderze build/ i są zablokowane w pliku OWNERS , co uniemożliwia ich modyfikowanie bez dodatkowej kontroli ze strony głównego zespołu. Jest to jedyne ograniczenie projektu contrib.

Potrzebujemy tego przeglądu, aby mieć pewność, że do ogólnych projektów Tradefed nie zostaną dodane żadne nieoczekiwane zależności bez wiedzy i zgody głównego zespołu. Jeśli naprawdę potrzebujesz dodania nowych zależności, skontaktuj się z android-tradefed@ aby przyjrzeć się Twoim przypadkom użycia i doradzić.