비 코어 코드 기여

비 코어 src를 tradefederation 프로젝트에 기여하는 팀을 대상으로 검토 프로세스에 대한 온전한 소유권을 지원하기 위해 모든 팀에 대한 open +2 권한을 포함하는 다음과 같은 프로젝트가 생성되었습니다. 따라서 코어 tradefederation 팀은 코어 프레임워크와 관련없는 모든 코드 검토로 인한 부담에서 벗어나게 되며, 다른 팀은 검토 주기에서 더 빨리 반복을 실행할 수 있습니다.

비 코어 src는 작동성(예: 맞춤 테스트, config, 특정 테스트 기능)과 관련하여 tradefederation 프레임워크에 의해 요구되지 않는 코드로 정의됩니다.

중요 비 코어 src는 코어 tradefederation 클래스를 확장하면 안 됩니다. 확장할 경우 향후의 리팩터링/정리에 영향을 미치기 때문입니다. 코드가 코어 또는 contrib에 속하는지 확실하지 않은 경우 android-tradefed@에 문의하세요. 코어 tradefederation 팀에서는 흔쾌히 조언을 제공하고 기능 요청을 받습니다.

코어 tradefederation 클래스 예시는 com.google.android.tradefed.build.LaunchControlProvider와 같은 com.google.android.tradefed.build 패키지의 모든 클래스가 될 수 있습니다.

마찬가지로 어떤 클래스가 android-tradefed@에 대한 코어 클래스가 되는지 확실하지 않은 경우에도 문의해 주시기 바랍니다.

[TOC]

Contrib 프로젝트의 경로

이러한 contrib 프로젝트는 누구를 대상으로 하나요?

이 프로젝트는 현재 tradefederation 프로젝트에서 테스트/테스트 기능/config을 작성 중인 사용자를 위해 마련되었습니다.

contrib 프로젝트의 코드 검토

contrib 프로젝트는 사용자가 코어 팀(android-tradefed@)의 검토 없이도 Tradefed에서 개발 작업을 수행할 수 있도록 하는 데 목적이 있습니다. 따라서 팀 또는 컨텍스트가 익숙한 모든 사용자가 CL에 대한 코드 검토를 수행할 수 있어야 합니다.

진전이 없거나 특정 사례에 대한 도움이 필요한 경우에는 언제든지 android-tradefed@로 문의하시기 바랍니다. 하지만 contrib의 코드 검토를 수행함에 있어 여기에 우선적으로 의존해서는 안 됩니다. Tradefed 팀에는 contrib의 코드 검토에 대한 SLO가 없습니다.

이 프로젝트에 대한 작업은 언제부터 시작할 수 있나요?

프로젝트는 다음과 같은 브랜치 매니페스트에 추가되었으며 이미 마스터 플랫폼 체크아웃의 일부입니다. 따라서 환경에 프로젝트가 보이지 않는다면 저장소 동기화를 수행해야 기여할 수 있습니다.

  • master
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • master-daydream-dev
  • master-without-vendor
  • wear-master

개발 및 테스트

contrib 개발은 Android 저장소의 다른 모든 위치와 동일한 품질 기준을 취하게 됩니다.

  • Android 형식 지정 가이드라인을 준수해야 함
  • 코드가 테스트를 거쳐 제출되어야 함
  • 설계가 신중하고 합리적이어야 함

로컬에서 contrib를 테스트하려면 어떻게 해야 하나요?

AOSP

AOSP에서는 contrib의 유닛 테스트가 platform/tools/tradefederation/contrib/tests/src/에 위치하며, 유닛 테스트를 com.android.tradefed.prodtests.UnitTests에 추가해야 사전 제출 및 로컬 테스트 스크립트에서 선택될 수 있습니다.

실행 이후의 AOSP 로컬 스크립트:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
    

contrib 프로젝트에 대한 규칙 업데이트 빌드

빌드 규칙(makefiles)은 자체 build/ 폴더 아래에 있으며, 코어 팀의 추가 검토 없이 수정할 수 없도록 하는 OWNERS 파일에 의해 잠깁니다. 이는 contrib 프로젝트에 한정된 제한사항입니다.

이 검토를 통해 코어 팀이 알지 못하거나 동의하지 않은 상태에서 전체 Tradefed 프로젝트에 예상치 못한 불일치가 추가되지 않았는지 확인해야 합니다. 새로운 종속성을 꼭 추가해야 하는 경우에는 android-tradefed@에 문의하여 사용 사례를 살펴보고 조언을 얻으세요.