fuchsia_sdk_repository

載入特定版本的 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