Добавить неосновной код

Чтобы позволить командам, которые вносят неосновной src в проекты tradefederation, полностью владеть процессом обзора, были созданы следующие проекты с открытыми правами +2 для всех команд. Это освобождает основную команду tradefederation от бремени всех обзоров кода, не связанных с основным фреймворком, а также позволяет другим командам быстрее выполнять итерации в своем цикле обзора.

Неосновной src определяется как код, который не требуется фреймворком tradefederation для функционирования (например, пользовательские тесты, конфигурации, специальные тестовые утилиты).

ВАЖНО Неосновные src не должны расширять основные классы tradefederation. Это повлияет на будущий рефакторинг/очистку. Если вы не уверены, относится ли ваш код к основному или contrib, обратитесь к android-tradefed@ за разъяснениями. Основная команда tradefederation с радостью проконсультирует и получит запросы на функции.

Примером основного класса tradefederation может быть любой класс в пакете com.google.android.tradefed.build , например: com.google.android.tradefed.build.LaunchControlProvider

Опять же, если вам неясно, что следует считать основным классом, свяжитесь с android-tradefed@.

[Оглавление]

Пути Contrib-проектов

Для кого предназначены эти благотворительные проекты?

Если вы в настоящее время работаете в проектах tradefederation, пишете тесты/тестовые утилиты/конфигурации, то эти проекты созданы для вас.

Обзоры кода в проектах contrib

Целью проектов contrib является предоставление вам возможности вести разработку в Tradefed без необходимости проверки основной командой (android-tradefed@). Поэтому мы ожидаем, что ваша команда или кто-либо, знакомый с вашим контекстом, будет выполнять проверки кода в ваших CL.

Всегда смело обращайтесь к android-tradefed@, если застряли или нуждаетесь в руководстве по конкретному случаю, но не полагайтесь на него по умолчанию для проверки кода в contrib. У команды Tradefed нет SLO, когда дело касается проверок кода в contrib.

Где я могу начать работу над этими проектами?

Они были добавлены в следующие манифесты веток и уже являются частью проверки основной платформы, поэтому, если вы не видите проекты в своей среде, вам не хватает синхронизации репозитория, чтобы внести свой вклад.

  • основной
  • торгуемый
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • основной-без-поставщика
  • износ-основной

Разработка и тестирование

Ожидается, что разработка в contrib будет иметь ту же планку качества, что и в других местах репозиториев Android:

  • Соблюдайте правила форматирования Android.
  • Код проверен и отправлен с тестами
  • Дизайн продуман и имеет смысл

Как провести локальное тестирование в contrib?

АОСП

В aosp модульные тесты contrib находятся в platform/tools/tradefederation/contrib/tests/src/, а модульные тесты следует добавлять в com.android.tradefed.prodtests.UnitTests для их использования в скриптах presubmit и локального тестирования.

Локальные скрипты Aosp после запуска обеда:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Обновление правил сборки для проектов contrib

Правила сборки (makefiles) находятся в собственной папке build/ и заблокированы файлом OWNERS , который не позволит вам изменять их без дополнительной проверки основной командой. Это единственное ограничение для проекта contrib.

Нам нужен этот обзор, чтобы гарантировать, что непредвиденные зависимости не будут добавлены в общие проекты Tradefed без ведома или согласия основной команды. Если вам действительно нужно добавить новые зависимости, свяжитесь с android-tradefed@ чтобы изучить ваши варианты использования и дать вам совет.