您可從下列函式載入下列函式:
@bazel_tools//tools/build_defs/repo:local.bzl
。
將本機檔案系統中的目錄做為存放區使用的規則。
設定
如要在模組擴充功能中使用這些規則,請在 .bzl 檔案中載入這些規則,然後從
的實作函式。舉例來說,如要使用 local_repository
:
load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
def _my_extension_impl(mctx):
local_repository(name = "foo", path = "foo")
my_extension = module_extension(implementation = _my_extension_impl)
或者,您也可以使用 use_repo_rule
直接在 MODULE.bazel 檔案中呼叫這些存放區規則:
local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")
local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "local_repository") local_repository(name, path, repo_mapping)
讓已包含 Bazel 檔案的本機目錄做為存放區使用。這個目錄應包含 Bazel BUILD 檔案,以及存放區邊界檔案。如果沒有這些檔案,建議你改用 new_local_repository
。
屬性
name |
名稱;必選
此存放區的專屬名稱。 |
path |
字串;必填
要做為存放區使用的目錄路徑。 路徑可以是絕對路徑,也可以是工作區根目錄的相對路徑。 |
repo_mapping |
字典:字串 -> 字串 (選用)
僅限於 `WORKSPACE` 情境:從本機存放區名稱轉換為全域存放區名稱的字典。這樣就能控管這個存放區依附元件的依附元件解析工作區。舉例來說,如果有個項目 `"@foo": "@bar"` 宣告,表示此存放區每次依附 `@foo` (例如依附 `@foo//some:target`) 時,實際上應在全域宣告的 `@bar` (`@bar//some:target`) 中解析該依附元件。 `MODULE.bazel` 情境 (在模組擴充功能的實作函式中叫用存放區規則時) _不_支援此屬性。 |
new_local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository") new_local_repository(name, build_file, build_file_content, path, repo_mapping)
讓不含 Bazel 檔案的本機目錄可用作存放區。這個目錄不需包含 Bazel BUILD 檔案或存放區邊界檔案。系統會依據這個存放區規則建立這些 Pod如果目錄中已包含 Bazel 檔案,請考慮改用 local_repository
。
屬性
name |
名稱 (必填)
這個存放區的專屬名稱。 |
build_file |
標籤 (選用)
這個檔案可用於此存放區的 BUILD 檔案。必須指定 `build_file` 和 `build_file_content` 其中一個。由這個標籤指定的檔案不一定要命名為 BUILD,但可以允許。`BUILD.new-repo-name` 這類程式可能十分適合與實際的 BUILD 檔案區別。 |
build_file_content |
String; 選用 要為此存放區建立的 BUILD 檔案內容。必須明確指定其中一個「build_file」和「build_file_content」。 |
path |
字串;必填
要提供為存放區的目錄路徑。路徑可以是絕對路徑,也可以是相對於工作區根目錄的相對路徑。 |
repo_mapping |
字典:字串 -> 字串 (選用)
只在「WORKSPACE」結構定義中:從本機存放區名稱到全域存放區名稱的字典。如此一來,即可控管這個存放區的依附元件的工作區依附元件解決方案。 舉例來說,項目 `"@foo": "@bar"` 會在任何時候這個存放區依附於 `@foo` (例如 `@foo//some:target` 上的依附元件),實際上應在全域宣告的 `@bar` (`@bar//some:target`) 中解析該依附元件。 在模組擴充功能的實作函式中叫用存放區規則時,「MODULE.bazel」結構定義「不」支援此屬性。 |