コアでないコードの投稿

コアでない src を TradeFederation プロジェクトに投稿するチームがレビュー プロセスを完全に所有できるようにするために、すべてのチームに対して open +2 の権限を持つ次のプロジェクトが作成されました。これによりコア tradefederation チームは、コア フレームワークと無関係なすべてのコードレビューの負担から解放され、他のチームはレビュー サイクルをより速く反復できます。

コアでない src とは、tradefederation フレームワークが機能するために必要としないコードとして定義されます(カスタムテスト、設定、特定のテスト ユーティリティなど)。

重要: コアでない src では、コア tradefesteration クラスを拡張しないでください。これは今後のリファクタリング / クリーンアップに影響します。コードが core なのか contrib なのか不明な場合は、android-tradefed@ にお問い合わせください。コア tradefederation チームは喜んで助言し、機能のリクエストを受け付けます。

コア tradefederation クラスの例としては、com.google.android.tradefed.build.LaunchControlProvider のような、com.google.android.tradefed.build パッケージのクラスがあります。

繰り返しになりますが、コアクラスと考えられるものが不明な場合は android-tradefed@ にお問い合わせください。

[TOC]

contrib プロジェクトのパス

contrib プロジェクトの対象者

現在、tradefederation プロジェクトで作業してテスト / テスト ユーティリティ / 設定を作成している場合、これらのプロジェクトは自動的に作成されたものです。

contrib プロジェクトのコードレビュー

contrib プロジェクトの目的は、コアチーム(android-tradefed@)のレビューを必要とせずに Tradefed で開発できるようにすることです。そのため、チーム、またはコンテキストに精通した方が、CL でコードレビューを行うことが想定されています。

行き詰まった場合、または特定のケースでガイダンスが必要な場合は、いつでもお気軽に android-tradefed@ にお問い合わせください。ただし、デフォルトで頼りにして contrib でコードレビューを行うことは避けてください。 contrib のコードレビューに関しては、Tradefed チームに 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 に追加して presubmit とローカルテスト スクリプトで選択できるようにする必要があります。

lunch 実行後の AOSP ローカル スクリプト:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
    

contrib プロジェクトのビルドルール更新

ビルドルール(makefile)は自身の build/ フォルダの下にあり、OWNERS ファイルによってロックされているため、コアチームによる追加のレビューなしでは変更できません。これが contrib プロジェクトの唯一の制限です。

このレビューは、コアチームの知識または同意なしに、Tradefed プロジェクト全体に予期しない依存関係が追加されないようにするために必要です。新しい依存関係を本当に追加する必要がある場合は、ユースケースを調べてアドバイスするため、android-tradefed@ にお問い合わせください。