2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
コアでないコードを投稿する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
コアでない src を tradefederation プロジェクトに投稿するチームがレビュー プロセスを完全に担当できるようにするため、すべてのチームが open +2 権限を持つ次のプロジェクトが作成されました。これにより、コア tradefederation チームは、コア フレームワークと無関係なすべてのコードレビューの負担から解放され、他のチームはレビュー サイクルをより速く反復できます。
コアでない src とは、tradefederation フレームワークが機能するために必要のないコードのことです(たとえば、カスタムテスト、config、特定のテスト ユーティリティなど)。
重要: コアでない src では、コア tradefesteration クラスを拡張しないでください。拡張すると、今後のリファクタリング / クリーンアップに影響します。コードが core なのか contrib なのか不明な場合は、android-tradefed@ にお問い合わせください。コア tradefederation チームは喜んで助言し、機能リクエストを受け付けます。
コア tradefederation クラスの例としては、com.google.android.tradefed.build.LaunchControlProvider
のような、com.google.android.tradefed.build
パッケージのクラスがあります。
繰り返しになりますが、何がコアクラスと見なされるか不明な場合は、android-tradefed@ にお問い合わせください。
[TOC]
contrib プロジェクトのパス
contrib プロジェクトの利用者
contrib プロジェクトは、現在 tradefederation プロジェクトで作業し、テスト / テスト ユーティリティ / config を作成している方が利用するために作成されたプロジェクトです。
contrib プロジェクトでのコードレビュー
contrib プロジェクトの目標は、コアチーム(android-tradefed@)がレビューしなくても利用者が Tradefed で開発できるようにすることです。そのため、Google は、利用者のチーム、または利用者のコンテキストに精通した方が、利用者の CL でコードレビューを行うことを想定しています。
開発に行き詰まった場合、または特定のケースでガイダンスが必要な場合は、いつでもお気軽に android-tradefed@ にお問い合わせください。ただし、contrib のコードレビューをコアチームに頼ることは避けてください。 contrib のコードレビューに関しては、Tradefed チームに SLO はありません。
プロジェクトの作業を開始できる場所
プロジェクトは以下のブランチ マニフェストに追加され、すでにメイン プラットフォームのチェックアウトの一部になっています。したがって、ご使用の環境にプロジェクトが表示されない場合は、リポジトリが投稿と同期されていません。
- main
- 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 に追加して presubmit とローカルテスト スクリプトで選択できるようにする必要があります。
lunch 実行後の AOSP ローカル スクリプト:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
contrib プロジェクトのビルドルール更新
ビルドルール(makefile)は自身の build/
フォルダの下にあり、OWNERS
ファイルによってロックされているため、コアチームによる追加のレビューなしでは変更できません。これが contrib プロジェクトの唯一の制限です。
このレビューは、コアチームによる認識または同意なしに、Tradefed プロジェクト全体に予期しない依存関係が追加されないようにするために必要です。新しい依存関係を本当に追加する必要がある場合は、android-tradefed@
にお問い合わせください。コアチームがユースケースを調べてアドバイスいたします。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 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-03-26 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."]]