為讓為 tradefederation 專案提供非核心來源代碼的團隊擁有審查程序的完整所有權,我們已建立以下專案,並為所有團隊提供公開 +2 權限。這可讓核心 Tradefederation 團隊不必負擔與核心架構無關的所有程式碼審查工作,同時讓其他團隊在審查週期中更快進行迭代。
「非核心 src」是指貿易架構不需執行的程式碼 (例如自訂測試、設定、特定測試公用程式)。
重要事項 非核心 src 不應擴充核心 tradefederation 類別。這會影響日後的重構/清理作業。如果您不確定程式碼是否屬於核心或 Contrib,請聯絡 android-tradefed@ 取得說明。核心貿易聯盟團隊很樂意提供建議,並接受功能要求。
舉例來說,核心交易聯盟類別是
com.google.android.tradefed.build
套件中的任何類別,例如:com.google.android.tradefed.build.LaunchControlProvider
再次提醒,如果您不清楚哪些類別會被視為 android-tradefed@ 的核心類別,請與我們聯絡。
[TOC]
貢獻專案的路徑
這些貢獻專案適用於哪些對象?
如果您目前是在商業聯盟專案中編寫測試/測試公用程式/設定,系統會為您建立這些專案。
貢獻專案中的程式碼審查
貢獻專案的目標是讓您可以在 Tradefed 中進行開發,而無須經過核心團隊 (android-tradefed@) 的審查。因此,我們希望您的團隊或任何熟悉您工作內容的人員,都能對您的 CL 進行程式碼審查。
如果遇到問題或需要特定案例的指引,歡迎隨時與 android-tradefed@ 聯絡,但請勿預設依賴該團隊在 contrib 中進行程式碼審查。Tradefed 團隊在 contrib 中沒有程式碼審查的服務水準目標。
該如何開始設計這些專案?
這些專案已新增至下列分支資訊清單,並已納入主要平台的檢查作業,因此如果您在環境中看不到這些專案,表示您需要進行存放區同步作業才能貢獻專案。
- 主要
- 交換
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- Main-daydream-dev
- main-without-vendor
- wear-main
開發和測試
Contrib 中的開發作業應與 Android 存放區中其他位置相同的品質標準:
- 遵守 Android 格式規範
- 測試程式碼並提交測試
- 設計精心周到且合理
如何在 contrib 中進行本機測試?
Android 開放原始碼計劃
首先,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@
聯絡,讓他們查看您的用途並提供建議。