貢獻非核心代碼

為了使向 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@查看您的用例並為您提供建議。