utils 存放區規則

回報問題 查看原始碼 Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

也許

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 必要元素。

要覆寫或新增至原始屬性的屬性字典

use_netrc

use_netrc(netrc, urls, patterns)

根據剖析的 netrc 檔案和網址清單,計算驗證字典。

參數

netrc 必要元素。

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

urls 必要元素。

網址清單。

patterns 必要元素。

選用字典,其中包含網址與授權模式

workspace_and_buildfile

workspace_and_buildfile(ctx)

用於寫入 WORKSPACE 和 (如有要求) BUILD 檔案的實用工具函式。

這個規則適用於存放區規則的實作函式。假設參數 namebuild_filebuild_file_contentworkspace_fileworkspace_file_content 會出現在 ctx.attr 中;後四個參數的值可能為 None。

參數

ctx 必要元素。

呼叫此公用函式的存放區規則存放區內容。