下列函式可從 @bazel_tools//tools/build_defs/repo:utils.bzl
載入。
在擷取後處理外部存放區的公用程式。
設定
這些公用程式可供其他存放區規則使用。您可以按照下列方式載入圖片。
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
不確定
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 |
必填。
要覆寫或新增屬性的字典 |
傳回
含有「覆寫」/「更新」鍵的屬性字典
use_netrc
use_netrc(netrc, urls, patterns)
從剖析的 Netrc 檔案和網址清單計算驗證字典。
參數
netrc |
必填。
已剖析至字典的 netrc 檔案,例如從 read_netrc 取得 |
urls |
必填。
列出的網址。 |
patterns |
必填。
授權模式的選用網址字典 |
傳回
dict 適合做為 ctx.download 的 auth 引數;更精確地說,dict 會將所有網址提供登入和密碼,對應至含有對應登入、密碼和選用的授權模式的字典,以及「類型」對應至「基本」或「模式」的對應。
workspace_and_buildfile
workspace_and_buildfile(ctx)
用於編寫 WORKSPACE 檔案的公用程式函式,如有需要,還能使用 BUILD 檔案。
這項規則用於存放區規則的實作函式。這裡假設 name
、build_file
、build_file_content
、workspace_file
和 workspace_file_content
參數在 ctx.attr
中;後四個參數可能值為 None。
參數
ctx |
必填。
呼叫此公用程式函式的存放區規則存放區規則環境。 |