コアでない 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@
にお問い合わせください。コアチームがユースケースを調べてアドバイスいたします。