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 邊界進行主動式變更。
舊版外掛程式參考資料
(如需舊版外掛程式巨集介面的相關資訊,請參閱: