Aby umożliwić zespołom, które dostarczają kod źródłowy inny niż podstawowy, pełne prawo własności do procesu weryfikacji w projektach Trade Federation, utworzyliśmy te projekty z otwartymi prawami +2 dla wszystkich zespołów. Zwalnia to główny zespół Trade Federation z obowiązku sprawdzania kodu niezwiązanego z główną strukturą, a jednocześnie umożliwia innym zespołom szybsze przeprowadzanie weryfikacji.
Non-core src to kod, który nie jest wymagany do działania platformy tradefederation (np. testy niestandardowe, konfiguracje, określone narzędzia testowe).
WAŻNE: źródło inne niż podstawowe nie powinno rozszerzać podstawowych klas Trade Federation. Ma to wpływ na przyszłe refaktoryzacje i czyszczenie kodu. Jeśli nie masz pewności, czy Twój kod powinien znajdować się w podstawowej czy dodatkowej części projektu, skontaktuj się z zespołem android-tradefed@, aby uzyskać wyjaśnienie. Główny zespół Trade Federation chętnie udzieli Ci porad i przyjmie prośby o dodanie funkcji.
Przykładową podstawową klasą Trade Federation może być 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 klasę podstawową, skontaktuj się z nami pod adresem android-tradefed@.
[TOC]
Ścieżki projektów Contrib
Dla kogo są przeznaczone te projekty?
Jeśli pracujesz obecnie nad projektami Trade Federation, pisząc testy, narzędzia testowe lub konfiguracje, te projekty zostały utworzone dla Ciebie.
Weryfikacja kodu w projektach typu contrib
Celem projektów dodatkowych jest umożliwienie Ci tworzenia kodu w Tradefed bez konieczności sprawdzania go przez zespół podstawowy (android-tradefed@). Oczekujemy więc, że Twój zespół lub osoby znające Twój kontekst przeprowadzą weryfikację kodu w Twoich zmianach.
Jeśli masz problem lub potrzebujesz wskazówek w konkretnym przypadku, zawsze możesz skontaktować się z zespołem android-tradefed@. Nie polegaj jednak na nim domyślnie w przypadku sprawdzania kodu w contrib. Zespół Tradefed nie ma docelowego poziomu usług w przypadku weryfikacji kodu w przypadku wkładu.
Gdzie mogę zacząć pracę nad tymi projektami?
Zostały one dodane do tych plików manifestu gałęzi i są już częścią głównej platformy płatności, więc jeśli nie widzisz projektów w swoim środowisku, wystarczy zsynchronizować repozytorium, aby móc w nich uczestniczyć.
- 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
Projekty w contrib powinny mieć taką samą jakość jak inne projekty w repozytoriach Androida:
- Przestrzegaj wytycznych dotyczących formatowania w Androidzie.
- Kod jest testowany i przesyłany wraz z testami.
- Przemyślany i logiczny projekt
Jak mogę testować lokalnie w przypadku treści tworzonych przez użytkowników?
AOSP
W AOSP testy jednostkowe komponentów znajdują się w folderze platform/tools/tradefederation/contrib/tests/src/ i należy je dodać do com.android.tradefed.prodtests.UnitTests, aby były uwzględniane w skryptach testów przed przesłaniem i testów lokalnych.
Skrypty lokalne AOSP po uruchomieniu polecenia lunch:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Tworzenie aktualizacji reguł w projektach kontrybucji
Reguły kompilacji (pliki makefile) znajdują się w osobnym folderze build/
i są zablokowane przez plik OWNERS
, który uniemożliwia ich modyfikowanie bez dodatkowej weryfikacji przez zespół główny. To jedyne ograniczenie projektu contrib.
Musimy przeprowadzić tę weryfikację, 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ć Twoje przypadki użycia i udzielić Ci porady.