貢獻非核心代碼

為了讓向 Tradefederation 專案貢獻非核心 src 的團隊能夠完全掌控審核流程,創建了以下項目,並為所有團隊提供了開放的 +2 權限。這減輕了核心貿易聯盟團隊與核心框架無關的所有程式碼審查的負擔,同時也允許其他團隊在審查週期中更快地迭代。

非核心 src被定義為 Tradefederation 框架不需要的程式碼(例如自訂測試、配置、特定測試實用程式)。

重要非核心 src 不應擴展核心 tradefederation 類別。這樣做會影響未來的重構/清理。如果您不確定您的程式碼是屬於 core 還是 contrib,請聯絡 android-tradefed@ 進行澄清。貿易聯盟核心團隊很樂意提供建議並接收功能請求。

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

再次,如果您不清楚什麼會被視為 android-tradefed@ 的核心類,請與我們聯絡。

[目錄]

Contrib 專案的路徑

這些貢獻項目是為誰服務的?

如果您目前在 Tradefederation 專案中工作,編寫測試/測試實用程式/配置,那麼這些專案就是為您建立的。

contrib 專案中的程式碼審查

contrib 專案的目標是允許您在 Tradefed 中進行開發,而無需核心團隊 (android-tradefed@) 的審核。因此,我們希望您的團隊或任何熟悉您的環境的人對您的 CL 執行程式碼審查。

如果遇到困難或需要特定情況的指導,請隨時聯絡 android-tradefed@,但預設不要依賴它在 contrib 中進行程式碼審查。 Tradefed 團隊在 contrib 中進行程式碼審查時沒有 SLO。

我可以從哪裡開始從事這些專案?

它們已添加到以下分支清單中,並且已經成為主平台簽出的一部分,因此,如果您在環境中沒有看到這些項目,那麼您就需要進行儲存庫同步才能做出貢獻。

  • 主要的
  • 貿易聯邦
  • OC-開發
  • 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檔案鎖定,這將阻止您在未經核心團隊額外審查的情況下修改它們。這是貢獻項目的唯一限制。

我們需要進行此審查,以確保在核心團隊不知情或未同意的情況下,不會將意外的依賴項新增至整個 Tradefed 專案。如果您確實需要添加一些新的依賴項,請聯絡android-tradefed@查看您的用例並為您提供建議。