提供非核心程式碼

為讓貢獻非核心 src 的團隊完全掌握審查程序,我們已建立下列專案,並開放所有團隊 +2 權限。這樣一來,核心 Tradefederation 團隊就不必負責所有與核心架構無關的程式碼審查,其他團隊也能在審查週期中更快完成疊代。

非核心 src 定義為 tradefederation 架構運作不需要的程式碼 (例如自訂測試、設定、特定測試公用程式)。

重要事項:非核心 src 不應擴充核心 tradefederation 類別。 這麼做會影響日後的重構/清除作業。如果您不確定程式碼應屬於核心或貢獻,請傳送電子郵件至 android-tradefed@ 尋求協助。核心 tradefederation 團隊很樂意提供建議,並接受功能要求。

核心 TradeFederation 類別的範例可以是 com.google.android.tradefed.build 套件中的任何類別,例如:com.google.android.tradefed.build.LaunchControlProvider

同樣地,如果您不清楚哪些是 android-tradefed@ 的核心類別,請與我們聯絡。

[TOC]

Contrib 專案的路徑

這些貢獻專案的適用對象是誰?

如果您目前在 tradefederation 專案中編寫測試/測試公用程式/設定,這些專案是為您建立的。

貢獻專案中的程式碼審查

貢獻專案的目標是讓您在 Tradefed 中進行開發,不必經過核心團隊 (android-tradefed@) 的審查。因此,我們希望您的團隊或熟悉您情境的任何人,都能對您的 CL 執行程式碼審查。

如果遇到困難或需要特定案例的指引,歡迎隨時與 android-tradefed@ 聯絡,但請勿預設由該團隊在 contrib 中進行程式碼審查。就貢獻內容的程式碼審查而言,Tradefed 團隊沒有服務水準目標。

我可以在哪裡開始處理這些專案?

這些專案已新增至下列分支版本資訊,且已成為主要平台結帳程序的一部分,因此如果您在環境中看不到這些專案,只要進行存放區同步,即可開始貢獻。

  • 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 中進行本機測試?

Android 開放原始碼計劃

在 AOSP 中,contrib 的單元測試位於 platform/tools/tradefederation/contrib/tests/src/ ,單元測試應新增至 com.android.tradefed.prodtests.UnitTests ,以便在預先提交和本機測試指令碼中挑選。

執行 lunch 後的 AOSP 本機指令碼:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

建構規則更新至貢獻專案

建構規則 (makefile) 位於專屬的 build/ 資料夾中,並由 OWNERS 檔案鎖定,因此如未經核心團隊額外審查,您就無法修改這些規則。這是對 contrib 專案的唯一限制。

我們需要進行這項審查,確保核心團隊不知情或未同意的情況下,不會在整體 Tradefed 專案中加入非預期的依附元件。如確實需要新增某些依附元件,請聯絡 android-tradefed@,瞭解您的用途並取得建議。