2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
비 코어 코드 기여
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
비 코어 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가 없습니다.
언제부터 이 프로젝트에서 작업을 시작할 수 있나요?
프로젝트는 다음과 같은 브랜치 매니페스트에 추가되었으며 이미 기본 플랫폼 체크아웃의 일부입니다. 따라서 환경에 프로젝트가 보이지 않는다면 저장소 동기화를 실행해야 기여할 수 있습니다.
- 기본
- tradefed
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- main-daydream-dev
- main-without-vendor
- wear-main
개발 및 테스트
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@
에 문의하여 사용 사례를 살펴보고 조언을 얻으세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Contribute non-core code\n\nTo enable teams that contribute non-core src to the tradefederation projects\nfull ownership of the review process, the following projects have been created\nwith open +2 rights for all teams. This relieves the core tradefederation team\nfrom the burden of all code reviews un-related to the core framework while also\nallowing the other teams to iterate faster in their review cycle.\n\n**Non-core src** is defined as code that is not required by the tradefederation\nframework to be functional (e.g. custom tests, configs, specific test\nutilities).\n\u003e ***IMPORTANT*** Non-core src should not extend core tradefederation classes.\n\u003e Doing so impacts future refactoring/clean up. If you are unsure if your code\n\u003e belongs in core or contrib, reach out to android-tradefed@ for clarification.\n\u003e The core tradefederation team is happy to advise and receive feature requests.\n\u003e\n\u003e An example core tradefederation class would be any class in the\n\u003e `com.google.android.tradefed.build` package like:\n\u003e `com.google.android.tradefed.build.LaunchControlProvider`\n\u003e\n\u003e Again, please reach out if you are unclear what would be considered a core\n\u003e class to android-tradefed@.\n\n\\[TOC\\]\n\nContrib projects' paths\n-----------------------\n\n- [platform/tools/tradefederation/contrib](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/main)\n\nWho are these contrib projects for?\n-----------------------------------\n\nIf you currently work in the tradefederation projects writing tests/test\nutilities/configs, these projects were created for you.\n\nCode reviews in contrib projects\n--------------------------------\n\nThe goal of the contrib projects is to allow you to do development in Tradefed\nwithout needing the review of the core team (android-tradefed@). So we expect\nyour team or anybody familiar with your context to perform the code reviews on\nyour CLs.\n\nAlways feel free to reach out to android-tradefed@ if stuck or need guidance on\na particular case, but do not rely on it by default to do your code review in\ncontrib. **Tradefed team has no SLO when it comes to code reviews in contrib.**\n\nWhere can I start working on these projects?\n--------------------------------------------\n\nThey have been added to the following branch manifests and are already part of\nmain platform checkout so if you don't see the projects in your environment,\nyou're a repo sync away from contributing.\n\n- main\n- tradefed\n- oc-dev\n- oc-dev-plus-aosp\n- nyc-mr2-dev-plus-aosp\n- main-daydream-dev\n- main-without-vendor\n- wear-main\n\nDevelopment and testing\n-----------------------\n\nDevelopment in contrib is expected to have the same quality bar as anywhere else\nin the Android repositories:\n\n- Respect the Android formatting guidelines\n- Code is tested and submitted with tests\n- Design is thoughtful and makes sense\n\n### How do I test locally in contrib?\n\n#### AOSP\n\nIn aosp, unit tests of contrib are located in\n[platform/tools/tradefederation/contrib/tests/src/](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/android16-release/tests/src/com/android)\nand unit tests should be added to\n[com.android.tradefed.prodtests.UnitTests](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/android16-release/tests/src/com/android/tradefed/prodtests/UnitTests.java)\nto be picked up in presubmit and local testing scripts.\n\nAosp local scripts after running lunch: \n\n tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh\n\nBuild rules update to contrib projects\n--------------------------------------\n\nThe build rules (makefiles) are under their own `build/` folder and locked by an\n`OWNERS` file that will prevent your from modifying them without an extra review\nfrom the core team. This is the only limitation to the contrib project.\n\nWe need this review to ensure no unexpected dependencies are added to the\noverall Tradefed projects without the knowledge or agreement from the core team.\nIf you really need some new dependencies to be added, please contact\n`android-tradefed@` to look into your use cases and advise you."]]