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
(即其 OWNERS 檔案中的file:/src/developer/ffx/OWNERS
) 會套用至ffx
與子工具之間 API 邊界的任何檔案,方便我們隨時對 API 邊界進行主動變更。