Aby umożliwić zespołom, które udostępniają w projektach tradefederation niestandardowe źródła kodu, pełną kontrolę nad procesem weryfikacji, utworzyliśmy te projekty z otwartymi uprawnieniami +2 dla wszystkich zespołów. Pozwala to zespołowi ds. podstawowej federacji handlowej uniknąć konieczności przeprowadzania weryfikacji kodu niezwiązanego z podstawową platformą, a jednocześnie pozwala innym zespołom szybciej przechodzić przez cykl weryfikacji.
Niepodstawowy src to kod, który nie jest wymagany do działania frameworku tradefederation (np. testy niestandardowe, konfiguracje, konkretne 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
, na przykład:com.google.android.tradefed.build.LaunchControlProvider
Jeśli nie masz pewności, co można uznać 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, które obejmują testy, narzędzia lub konfiguracje, to właśnie te projekty zostały stworzone 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 weryfikacji kodu w repozytorium contrib.
Gdzie mogę rozpocząć 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 publikować.
- główne
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- main-without-vendor
- wear-main
Programowanie i testowanie
Oczekuje się, że rozwój w repozytorium contrib będzie miał ten sam poziom jakości co w innych repozytoriach Androida:
- Przestrzegaj wytycznych dotyczących formatowania na Androidzie
- Kod jest testowany i przesyłany z testami
- Projekt jest przemyślany i ma sens
Jak przeprowadzić test lokalny w contrib?
AOSP
W aosp testy jednostkowe contrib znajdują się w folderze platform/tools/tradefederation/contrib/tests/src/. Testy jednostkowe należy dodać do pakietu com.android.tradefed.prodtests.UnitTests, aby były uwzględniane w skryptach testów przed przesłaniem i lokalnych skryptach testów.
Skrypty lokalne Aosp po uruchomieniu lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Aktualizacja reguł kompilacji w przypadku projektów współdzielonych
Reguły kompilacji (makefiles) znajdują się w oddzielnym folderze build/
i są zablokowane przez plik OWNERS
, co uniemożliwia ich modyfikowanie bez dodatkowej weryfikacji przez zespół główny. To jedyne ograniczenie dotyczące projektu contrib.
Potrzebujemy tej weryfikacji, aby mieć pewność, że do projektów Tradefed nie zostaną dodane żadne 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ę.