utils 存放區規則

您可從下列函式載入下列函式: @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_urlsremote_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)

修補已擷取的存放區。

這項規則是用在 建立存放區規則如果參數 patchespatch_tool 未指定 patch_argspatch_cmdspatch_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 檔案的公用程式函式 (如果要求的話)。

這項規則是用在 存放區規則 它假設參數為 namebuild_filebuild_file_contentworkspace_file,且 workspace_file_content 將於以下日期時顯示: 在 ctx.attr 中;第二種可能的值為 None

參數

ctx 這通常代表交易 不會十分要求關聯語意

呼叫此公用程式的存放區規則的存放區結構定義 函式。