本節包含 Fuchsia API Surface 和 IDK 的貢獻說明文件。
從技術層面來看,將其稱為「IDK 貢獻者指南」可能更合適,因為構成 API 介面的 API 和程式庫會先新增至 IDK,然後轉換為 SDK 發布版本。不過,在口語和程式碼中,我們幾乎只會說「SDK」。無論如何,如果您想以某種方式「變更 SDK」,可能就是來對地方了。
為 SDK 中的 API 貢獻心力
如要協助改善 Fuchsia API Surface,請按照下列步驟操作:
評估變更幅度是否過大。
- 如果 API 只有小幅增量變更,請完成「在 Gerrit 中建立變更」中的步驟,貢獻您的變更,就像處理任何 Fuchsia 原始碼變更一樣。
如果 API 有大幅變更 (即大幅擴充 API 功能或大幅修改 API),請按照下列步驟操作:
建立 RFC,說明您對 API 所做的修改設計。
這項 RFC 應透過正常的 RFC 程序審查。相關領域的 API 審查人員應是 RFC 的利害關係人。如要找出 API 審查人員,請參閱 Fuchsia API 委員會章程。
API RFC 獲得核准後,請完成「在 Gerrit 中建立變更」一文中的步驟,貢獻您的變更,就像處理任何 Fuchsia 原始碼變更一樣。
請向 API 委員會成員要求進行程式碼審查。 根據您要修改的 Fuchsia API 領域,選取 API 委員會審查員。如要查看 API 委員會成員清單及其關注領域,請參閱 Fuchsia API 委員會章程中的「成員」一節。
宣傳 API
根據預設,API、程式庫等並非 IDK 原子,也不在 IDK/SDK 中,更不在 SDK 類別中。如要以特定方式使用 API 或程式庫 (包括納入 IDK),必須將其設為 IDK 原子,並指派 SDK 類別。
本節說明如何將原子升級至不同類別。無論是將新原子新增至類別,還是將現有原子從一個類別升級至另一個類別,都適用這些規則。
如要將原子新增至 IDK/SDK,必須將原子升級至「partner
」類別。
將 API 升級至 prebuilt
或 host_tool
類別
如要讓預先建構的二進位檔或主機工具使用 Fuchsia SDK 中的 API,該 API 必須分別位於 prebuilt
或 host_tool
SDK 類別。API 必須遵循API 演進指南,著重於在維持相容性的同時,啟用 API 演進功能。
請注意,將 API 升級至 partner
時,還有其他考量事項,這可能會揭露相容性和長期可用性之間的取捨決策。
API 準備好接受審查後,請申請 API 校正。
將 API 升級至「partner
」類別
如要將 API 納入 Fuchsia IDK/SDK,該 API 必須屬於 partner
SDK 類別。這需要克服兩項障礙:必須有準備好且願意配合的客戶,且 API 必須通過 API 校正。