載入特定版本的 Fuchsia IDK。
屬性
| 名稱 | 說明 | 類型 | 必要 | 預設 |
|---|---|---|---|---|
| name | 這個存放區的專屬名稱。 | 名稱 | 必要 | - |
| repo_mapping | 僅限 WORKSPACE 情境:從本機存放區名稱到全域存放區名稱的字典。能讓您控管這個存放區的依附元件在工作區中的解析方式。舉例來說, "@foo": "@bar" 項目會宣告,每當這個存放區依附於 @foo (例如依附於 @foo//some:target) 時,應在全域宣告的 @bar (@bar//some:target) 中解析該依附元件。MODULE.bazel 內容不支援這個屬性 (在模組擴充功能的實作函式中叫用存放區規則時)。 |
String Dict | 選用 | - |
| parent_sdk | 如果指定,目前 SDK 中也存在於父項 SDK 的程式庫一律會解析為父項。實際上, 這表示如果目前 SDK 中定義的程式庫也定義在 parent_sdk 中,系統會忽略目前 SDK 中的程式庫, 並將其參照替換為 @<parent_sdk>//<library>。這在 SDK 分層時非常實用,例如 內部 SDK 和公開 SDK。 |
標籤 | 選用 | None |
| parent_sdk_local_paths | 如果指定 parent_sdk,parent_sdk_local_paths 必須包含與父項 SDK 的 local_paths 屬性相同的值。 這是必要步驟,因為 Bazel 無法評估標籤是否存在,所以在使用分層 SDK 時,我們會再次處理父項 SDK 的中繼資料。 待辦事項:如果這項做法會造成限制或效能問題,請尋找更好的方法。 |
字串清單 | 選用 | [] |
| local_paths | 本機 IDK 目錄的路徑。 | 字串清單 | 選用 | [] |
| local_idk_repos | 包含本機 IDK 目錄的存放區。 每個標籤都必須位於存放區的根套件中,例如 @fuchsia_idk (@fuchsia_idk//:fuchsia_idk 的簡寫);存放區的根目錄會做為 IDK。與 local_paths 中前置字串為 @repo 的項目不同,這些項目會使用呼叫端的存放區對應解析,因此可使用明顯的存放區名稱。 |
標籤清單 | 選用 | [] |
| local_idk_version_file | 選用檔案,用於標示 local_paths 或 local_idk_repos 指向的 IDK 版本。 | 標籤 | 選用 | None |
| local_sdk_version_file | local_idk_version_file 的已淘汰別名。 | 標籤 | 選用 | None |
| buildifier | buildifier 工具的選用標籤,用於重新格式化所有產生的 Bazel 檔案。 | 標籤 | 選用 | None |
| visibility_templates | 允許新增額外的瀏覽權限清單。 這個屬性可讓呼叫端指定一組額外的瀏覽權限 參數,以便在我們產生存放區時傳遞至範本。 如需金鑰清單,請參閱 generate_sdk_buildrules.bzl 檔案。 傳入標籤時,您必須指定標籤的完整名稱, 確保我們參照正確的標籤。舉例來說, 如要參照根存放區中的目標,應 使用 @@//foo:pkg 等路徑。如果將這個值傳遞為 //foo:pkg_,則會傳遞至範本,讓 bazel 認為該值屬於您產生的存放區。 這份清單中的值可以包含萬用字元 (「」),展開後會包含 該位置的所有目錄,但使用 方式有限制。 - 展開作業只會對名稱為「@@」的存放區生效。 - 展開作業只支援單一「」 - 展開作業會檢查展開的位置是否存在 BUILD.bazel 檔案,如果存在,則會新增該檔案,但不會檢查 BUILD.bazel 檔案是否包含展開的目標。 萬用字元展開作業的範例如下: - @@//src//foo:bar - @@//src/:bar - @@//src/*/foo |
String List Dict | 選用 | {} |
環境變數
這項存放區規則取決於下列環境變數:
LOCAL_FUCHSIA_SDK_DIRECTORY