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

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

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

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

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

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

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

Пути развития проектов-участников

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

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

Проверка кода в проектах-участниках.

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

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

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

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

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

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

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

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

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

AOSP

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

Локальные скрипты AOSP после запуска функции "Обед":

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

Обновление правил сборки для проектов-участников.

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

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