utils 存放區規則

回報問題 查看來源

您可以從 @bazel_tools//tools/build_defs/repo:utils.bzl 載入下列函式。

當擷取後,用於處理外部存放區的公用程式。

設定

這些公用程式可供其他存放區規則使用。這些結構可以按照下列方式載入。

load(
    "@bazel_tools//tools/build_defs/repo:utils.bzl",
    "workspace_and_buildfile",
    "patch",
    "update_attrs",
)

get_auth

get_auth(ctx, urls)

運用公用程式函式,從 .netrc 檔案取得網址清單的正確驗證字典。

支援選用的 netrc 和 auth_patterns 屬性 (如有)。

參數

ctx 系統要求。

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

urls 系統要求。

列出要讀取的網址清單

傳回

可傳遞至 store_ctx.download 的驗證字典

可能

maybe(repo_rule, name, kwargs)

僅新增存放區的公用程式函式。

這是要實作安全的 repositories.bzl 巨集,詳情請參閱 https://bazel.build/rules/deploying#dependencies。

參數

repo_rule 系統要求。

存放區規則函式。

name 系統要求。

待建立的存放區名稱。

kwargs 選用。

傳遞至 repo_rule 函式的其餘引數。

傳回

什麼都不做,在需要時定義存放區。

parse_netrc

parse_netrc(contents, filename)

用於剖析至少一個基本 .netrc 檔案的公用程式。

參數

contents 系統要求。

剖析器的輸入內容。

filename 選用。預設值為 None

錯誤訊息中所使用的檔案名稱 (如果有的話)。

傳回

會將機器名稱對應至一個字典

patch

patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)

修補已擷取的存放區。

這項規則旨在用於存放區規則的實作函式。如未指定 patchespatch_toolpatch_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

read_netrc(ctx, filename)

用於剖析至少一個基本 .netrc 檔案的公用程式。

參數

ctx 系統要求。

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

filename 系統要求。

要讀取的 .netrc 檔案名稱

傳回

會將機器名稱對應至一個字典

read_user_netrc

read_user_netrc(ctx)

讀取使用者的預設 netrc 檔案。

參數

ctx 系統要求。

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

傳回

會將電腦名稱對應到一個字典,藉此提供相關資訊。

update_attrs

update_attrs(orig, keys, override)

這個公用程式函式可修改指定屬性,並將屬性新增至特定存放區規則叫用。

可用來重現規則。

參數

orig 系統要求。

由特定規則叫用實際設定屬性 (無論是明確或隱含)

keys 系統要求。

這項規則中定義的完整屬性集

override 系統要求。

要在 Orig 中覆寫或新增屬性的字典

傳回

含有已插入/更新的鍵的屬性字典

use_netrc

use_netrc(netrc, urls, patterns)

從剖析的 Netrc 檔案和網址清單計算驗證字典。

參數

netrc 系統要求。

已剖析為字典的 netrc 檔案,例如從 read_netrc 取得的

urls 系統要求。

列出的網址。

patterns 系統要求。

授權模式網址字典 (選填)

傳回

指定適合做為 ctx.download 驗證引數的字典;更精確地來說,此字典將對應至包含 netrc 檔案提供登入和密碼的所有網址,以及對應的登入、密碼和選用的授權模式,以及將「type」對應至「basic」或「pattern」的字典。

workspace_and_buildfile

workspace_and_buildfile(ctx)

用於編寫 WORKSPACE 和 BUILD 檔案的公用程式函式 (如果要求的話)。

這項規則是為了在存放區規則的實作函式中使用。其假設參數 namebuild_filebuild_file_contentworkspace_fileworkspace_file_content 都出現在 ctx.attr 中;後者可能的值為 None。

參數

ctx 系統要求。

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