您可以從 @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)
修補已擷取的存放區。
這項規則旨在用於存放區規則的實作函式。如未指定 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
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 |
系統要求。
授權模式網址字典 (選填) |
workspace_and_buildfile
workspace_and_buildfile(ctx)
用於編寫 WORKSPACE 和 BUILD 檔案的公用程式函式 (如果要求的話)。
這項規則是為了在存放區規則的實作函式中使用。其假設參數 name
、build_file
、build_file_content
、workspace_file
和 workspace_file_content
都出現在 ctx.attr
中;後者可能的值為 None。
參數
ctx |
系統要求。
呼叫此公用程式函式的存放區規則的存放區結構定義。 |