本機存放區規則

回報問題 查看來源 Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

您可以從 @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)

或者,您也可以在 MODULE.bazel 檔案中直接呼叫這些存放區規則,方法是使用 use_repo_rule

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)

將已包含 Bazel 檔案的本機目錄設為存放區。這個目錄應已包含 Bazel BUILD 檔案和存放區界線檔案。如果沒有這些檔案,請考慮改用 new_local_repository

屬性

name 名稱 (必填)

這個存放區的專屬名稱。

path 字串;必填

要設為存放區的目錄路徑。 路徑可以是絕對路徑,也可以是相對於工作區根目錄的路徑。

new_local_repository

load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository")

new_local_repository(name, build_file, build_file_content, path)

將不含 Bazel 檔案的本機目錄設為存放區。這個目錄不必包含 Bazel BUILD 檔案或存放區界線檔案,這些檔案會由這個存放區規則建立。如果目錄已包含 Bazel 檔案,請考慮改用 local_repository

屬性

name 名稱 (必填)

這個存放區的專屬名稱。

build_file 標籤 (選填)

要用於這個存放區的 BUILD 檔案。 必須明確指定 `build_file` 和 `build_file_content` 其中之一。 這個標籤所指的檔案不一定要命名為 BUILD,但可以這麼做。例如,`BUILD.new-repo-name` 可能很適合用來與實際的 BUILD 檔案區別。

build_file_content 字串;選用

要為這個存放區建立的 BUILD 檔案內容。 必須明確指定 `build_file` 和 `build_file_content` 其中之一。

path 字串;必填

要設為存放區的目錄路徑。 路徑可以是絕對路徑,也可以是相對於工作區根目錄的路徑。