您可從下列函式載入下列函式:
@bazel_tools//tools/build_defs/repo:utils.bzl
。
當擷取後,用於處理外部存放區的公用程式。
設定
這些公用程式可供其他存放區規則使用。他們 可以按照下列方式載入
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
download_remote_files
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files") download_remote_files(ctx, auth)
用於下載遠端檔案的公用程式。
這項規則是用在
建立存放區規則它假設參數為 remote_file_urls
和
remote_file_integrity
出現在 ctx.attr
中。
參數
ctx |
這通常代表交易
不會十分要求關聯語意
呼叫此公用程式的存放區規則的存放區結構定義 函式。 |
auth |
選用。
預設值為 None
視需要指定部分網址驗證資訊的字典。 |
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth") get_auth(ctx, urls)
運用公用程式函式,從 .netrc 檔案取得網址清單的正確驗證字典。
支援選用的 netrc 和 auth_patterns 屬性 (如有)。
參數
ctx |
這通常代表交易
不會十分要求關聯語意
呼叫此公用程式的存放區規則的存放區結構定義 函式。 |
urls |
這通常代表交易
不會十分要求關聯語意
要讀取的網址清單 |
傳回
可傳遞至 store_ctx.download 的驗證字典
可能
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe") maybe(repo_rule, name, **kwargs)
僅新增存放區的公用程式函式。
這是為了實作安全 repositories.bzl 巨集,如 https://bazel.build/rules/deploying#dependencies.
參數
repo_rule |
這通常代表交易
不會十分要求關聯語意
存放區規則函式 |
name |
這通常代表交易
不會十分要求關聯語意
指定要建立的存放區名稱 |
kwargs |
選用。
傳遞至 repo_rule 函式的其餘引數。 |
傳回
什麼都不做,在需要時定義存放區。
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc") parse_netrc(contents, filename)
用於剖析至少一個基本 .netrc 檔案的公用程式。
參數
contents |
這通常代表交易
不會十分要求關聯語意
剖析器的輸入內容 |
filename |
選用。
預設值為 None
錯誤訊息中所使用的檔案名稱 (如果有的話)。 |
傳回
將電腦名稱對應到內含資訊的字典 探索
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch") patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
修補已擷取的存放區。
這項規則是用在
建立存放區規則如果參數 patches
、patch_tool
未指定 patch_args
、patch_cmds
和 patch_cmds_win
那麼這些是從 ctx.attr
取得的
參數
ctx |
這通常代表交易
不會十分要求關聯語意
呼叫此公用程式的存放區規則的存放區結構定義 函式。 |
patches |
選用。
預設值為 None
要套用的修補程式檔案。字串、標籤或路徑清單。 |
patch_cmds |
選用。
預設值為 None
要執行的 Bash 指令,用於修補 抵達 bash -c 的時間字串清單 |
patch_cmds_win |
選用。
預設值為 None
要執行以進行修補的 Powershell 指令 一次執行一個 Powershell /c。字串清單。如果 這個參數的布林值為 false,patch_cmds 將會是 系統就會忽略這個參數 |
patch_tool |
選用。
預設值為 None
要執行的修補工具路徑 修補程式字串。 |
patch_args |
選用。
預設值為 None
要傳遞至修補程式工具的引數。字串清單。 |
auth |
選用。
預設值為 None
視需要指定部分網址驗證資訊的字典。 |
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc") read_netrc(ctx, filename)
用於剖析至少一個基本 .netrc 檔案的公用程式。
參數
ctx |
這通常代表交易
不會十分要求關聯語意
呼叫此公用程式的存放區規則的存放區結構定義 函式。 |
filename |
這通常代表交易
不會十分要求關聯語意
要讀取的 .netrc 檔案名稱 |
傳回
將電腦名稱對應到內含資訊的字典 探索
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc") read_user_netrc(ctx)
讀取使用者的預設 netrc 檔案。
參數
ctx |
這通常代表交易
不會十分要求關聯語意
呼叫此公用程式函式的存放區規則的存放區結構定義。 |
傳回
會將電腦名稱對應到一個字典,藉此提供相關資訊。
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs") update_attrs(orig, keys, override)
這個公用程式函式可修改指定屬性,並將屬性新增至特定存放區規則叫用。
可用來重現規則。
參數
orig |
這通常代表交易
不會十分要求關聯語意
實際設定的屬性 (明確或隱含) 特定規則叫用 |
keys |
這通常代表交易
不會十分要求關聯語意
這項規則是一組完整的屬性 |
override |
這通常代表交易
不會十分要求關聯語意
要覆寫或新增至 Orig 的屬性字典 |
傳回
具有已插入/更新的鍵的屬性字典
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc") use_netrc(netrc, urls, patterns)
從剖析的 Netrc 檔案和網址清單計算驗證字典。
參數
netrc |
這通常代表交易
不會十分要求關聯語意
已剖析為字典的 netrc 檔案,例如 read_netrc |
urls |
這通常代表交易
不會十分要求關聯語意
列出網址清單 |
patterns |
這通常代表交易
不會十分要求關聯語意
選填的授權模式網址字典 |
傳回
可當做 ctx.download 的驗證引數;更準確地說明 會將 netrc 檔案提供登入和密碼的所有網址對應至 包含對應登入、密碼和選填授權模式的字典 以及「type」的對應改為「基本」或「pattern」。
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile") workspace_and_buildfile(ctx)
用於編寫 WORKSPACE 和 BUILD 檔案的公用程式函式 (如果要求的話)。
這項規則是用在
存放區規則
它假設參數為 name
、build_file
、build_file_content
、
workspace_file
,且 workspace_file_content
將於以下日期時顯示:
在 ctx.attr
中;第二種可能的值為 None
參數
ctx |
這通常代表交易
不會十分要求關聯語意
呼叫此公用程式的存放區規則的存放區結構定義 函式。 |