開發 FFX

FFX 分為部分責任與核心功能,其核心功能與在核心程式 (ffx cli) 中尋找及執行交互互動程式有關,以及以「子工具」(舊稱外掛程式) 建構 (先前可透過 ffx cli 編譯) 或做為外部工具執行的實際程式 (使用 FHO 子工具介面)。

如要新增可透過 ffx 存取的功能,您可以編寫自己的子工具,並將其整合至建構作業中。

開始使用子工具

如要開始為 ffx 建構簡易的子工具 (舊稱「外掛程式」),請參閱開發 ffx 子工具一文。

如果您有現有的外掛程式,且想要將其遷移至新的子工具介面,請參閱「遷移現有的外掛程式」。

我們也保留了子工具的參考實作,該工具會執行一些稱為 ffx-echo 的基本項目,且應一律做為如何編寫子工具的標準來源。

新增子工具檢查清單

如果這是您展開規模較大的專案,您必須嘗試執行一些操作,確保新的子工具能隨時間運作:

  • 請將新的子工具標示為實驗,確保在穩定之前將會發生變化。
  • 請使用 Writer 處理所有與子工具相關的輸出內容。如果預期會在某個時間點加入 SDK,請確保使用 MachineWriter 搭配具體可序列化的類型,且在 --machine json 傳遞至 ffx 時,輸出內容可以正常運作。
  • 在子工具邊界使用 fho::Error 類型適當地區隔使用者操作的錯誤和錯誤。
  • 如果子工具位於 ffx 樹狀結構中,應該就會有清楚的 OWNERS 檔案,說明擁有該工具的團隊,以及可透過該工具檢查 CL 的個人。
  • 如果其位於 ffx 樹狀結構外,但位於 fuchsia.git 存放區,則其必須參照 ffx owners file (即file:/src/developer/ffx/OWNERS) 套用至 ffx 和子工具之間 API 邊界的任何檔案,以便我們持續對該 API 邊界進行主動式變更。

舊版外掛程式參考資料

(如需舊版外掛程式巨集介面的相關資訊,請參閱: