Чтобы дать командам, которые вносят неосновной src в проекты торговой федерации, полную ответственность за процесс проверки, были созданы следующие проекты с открытыми правами +2 для всех команд. Это освобождает основную команду торговой федерации от бремени всех проверок кода, не связанных с основной платформой, а также позволяет другим командам быстрее выполнять итерации в своем цикле проверки.
Неосновной src определяется как код, функциональность которого не требуется платформой tradefederation (например, пользовательские тесты, конфигурации, специальные тестовые утилиты).
ВАЖНО. Неосновной src не должен расширять основные классы торговой федерации. Это повлияет на будущий рефакторинг/очистку. Если вы не уверены, принадлежит ли ваш код ядру или вкладу, обратитесь за разъяснениями по адресу android-tradefed@. Основная команда торговой федерации будет рада проконсультировать и получить запросы на добавление новых функций.
Примером основного класса tradefederation может быть любой класс в пакете
com.google.android.tradefed.build
, например:com.google.android.tradefed.build.LaunchControlProvider
.Опять же, пожалуйста, свяжитесь с нами, если вам неясно, какой класс будет считаться основным классом android-tradefed@.
[ТОС]
Пути проектов Contrib
Для кого предназначены эти проекты?
Если вы в настоящее время работаете в проектах tradefederation, занимаясь написанием тестов/тестовых утилит/конфигураций, эти проекты были созданы для вас.
Проверка кода в проектах вклада
Цель проектов вклада — дать вам возможность заниматься разработкой в Tradefed без необходимости проверки основной командой (android-tradefed@). Поэтому мы ожидаем, что ваша команда или кто-либо, знакомый с вашим контекстом, выполнит проверку кода на ваших CL.
Всегда не стесняйтесь обращаться к android-tradefed@, если вы застряли или нуждаетесь в совете по конкретному случаю, но не полагайтесь на него по умолчанию при проверке кода в contrib. У команды Tradefed нет SLO, когда дело доходит до проверки кода в Contrib.
Где я могу начать работу над этими проектами?
Они были добавлены в следующие манифесты ветвей и уже являются частью проверки на основной платформе, поэтому, если вы не видите проекты в своей среде, вы находитесь в нескольких шагах от синхронизации репозитория, чтобы внести свой вклад.
- основной
- обмениваемый
- oc-dev
- oc-dev-плюс-aosp
- nyc-mr2-dev-plus-aosp
- основной-daydream-dev
- основной без поставщика
- изнашиваемый основной
Разработка и тестирование
Ожидается, что разработка в Contrib будет иметь такую же шкалу качества, как и где-либо еще в репозиториях Android:
- Соблюдайте рекомендации по форматированию Android.
- Код протестирован и отправлен с тестами
- Дизайн продуман и имеет смысл
Как мне протестировать локально в Contrib?
АОСП
В aosp модульные тесты contrib расположены в платформе/tools/tradefederation/contrib/tests/src/ , а модульные тесты следует добавить в com.android.tradefed.prodtests.UnitTests , чтобы их можно было использовать в сценариях предварительной отправки и локального тестирования.
Локальные скрипты Aosp после запуска обеда:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
Обновление правил сборки для участия в проектах
Правила сборки (makefiles) находятся в отдельной папке build/
и заблокированы файлом OWNERS
, который не позволяет вам изменять их без дополнительной проверки со стороны основной команды. Это единственное ограничение проекта contrib.
Нам нужна эта проверка, чтобы гарантировать отсутствие неожиданных зависимостей в общих проектах Tradefed без ведома или согласия основной команды. Если вам действительно нужно добавить новые зависимости, свяжитесь с android-tradefed@
чтобы изучить ваши варианты использования и проконсультировать вас.