為了使向 tradefederation 項目貢獻非核心 src 的團隊能夠完全擁有審查流程,我們創建了以下項目,所有團隊都擁有開放的 +2 權限。這將核心 tradefederation 團隊從與核心框架無關的所有代碼審查的負擔中解脫出來,同時還允許其他團隊在他們的審查週期中更快地迭代。
非核心 src被定義為 tradefederation 框架不需要功能的代碼(例如自定義測試、配置、特定測試實用程序)。
重要非核心 src 不應擴展核心 tradefederation 類。這樣做會影響未來的重構/清理。如果您不確定您的代碼屬於 core 還是 contrib,請聯繫 android-tradefed@ 進行澄清。 Tradefederation 核心團隊很樂意提供建議和接收功能請求。
一個示例核心 tradefederation 類可以是
com.google.android.tradefed.build
包中的任何類,例如:com.google.android.tradefed.build.LaunchControlProvider
同樣,如果您不清楚 android-tradefed@ 的核心類是什麼,請再次聯繫。
[目錄]
Contrib 項目的路徑
這些 contrib 項目是為誰準備的?
如果您目前在 tradefederation 項目中工作,編寫測試/測試實用程序/配置,這些項目是為您創建的。
contrib 項目中的代碼審查
contrib 項目的目標是允許您在 Tradefed 中進行開發,而無需審查核心團隊 (android-tradefed@)。因此,我們希望您的團隊或熟悉您的上下文的任何人對您的 CL 執行代碼審查。
如果遇到困難或需要有關特定案例的指導,請隨時聯繫 android-tradefed@,但默認情況下不要依賴它在 contrib 中進行代碼審查。在 contrib 中進行代碼審查時,Tradefed 團隊沒有 SLO。
我可以從哪裡開始從事這些項目?
它們已添加到以下分支清單中,並且已經是主平台結帳的一部分,因此如果您在環境中看不到這些項目,那麼您就是一個遠離貢獻的 repo 同步。
- 掌握
- 交易
- oc-dev
- oc-dev-plus-aosp
- nyc-mr2-dev-plus-aosp
- 大師白日夢開發
- 主無供應商
- 磨損大師
開發和測試
contrib 中的開發預計與 Android 存儲庫中的其他任何地方具有相同的質量標準:
- 遵守 Android 格式指南
- 代碼經過測試並與測試一起提交
- 設計是周到且有意義的
如何在contrib中進行本地測試?
AOSP
在 aosp 中,contrib 的單元測試位於platform/tools/tradefederation/contrib/tests/src/中,單元測試應添加到com.android.tradefed.prodtests.UnitTests以在預提交和本地測試腳本中獲取。
運行午餐後的 Aosp 本地腳本:
tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
構建規則更新到貢獻項目
構建規則(makefile)位於它們自己的build/
文件夾下,並被OWNERS
文件鎖定,這將阻止您在未經核心團隊額外審查的情況下修改它們。這是對 contrib 項目的唯一限制。
我們需要此審查以確保在沒有核心團隊的知識或同意的情況下,不會將意外的依賴項添加到整個 Tradefed 項目中。如果您確實需要添加一些新的依賴項,請聯繫android-tradefed@
查看您的用例並為您提供建議。