MODULE.bazel 檔案中提供的方法。
成員
- archive_override
- bazel_dep
- git_override
- local_path_override
- module
- multiple_version_override
- register_execution_platforms
- register_toolchains
- single_version_override
- use_extension
- use_repo
- use_repo_rule
archive_override
None
archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)
參數
參數 | 說明 |
---|---|
module_name
|
必要 要套用這項覆寫的 Bazel 模組依附元件名稱。 |
urls
|
string;或 string 的可疊代項目;
必要 封存檔的網址;可以是 http(s):// 或 file:// 網址。 |
integrity
|
預設值為 '' 封存檔案的預期檢查碼,格式為子資源完整性。 |
strip_prefix
|
預設值為 '' 要從解壓縮檔案中移除的目錄前置字串。 |
patches
|
字串的可疊代項目;
預設為 [] 指向要套用至此模組的修補程式檔案的標籤清單。修補程式檔案必須位於頂層專案的來源樹狀結構中。系統會依清單順序套用規則。 |
patch_cmds
|
string 的可疊代項目;
預設為 [] 修補程式套用後,要在 Linux/macOS 上套用的 Bash 指令序列。 |
patch_strip
|
預設值為 0 與 Unix patch 的 --strip 引數相同。 |
bazel_dep
None
bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
參數
參數 | 說明 |
---|---|
name
|
必要 要新增為直接依附元件的模組名稱。 |
version
|
預設值為 '' 要新增為直接依附元件的模組版本。 |
max_compatibility_level
|
預設值為 -1 模組可新增為直接依附元件的最大 compatibility_level 。模組版本代表支援的最低 compatibility_level,如果未指定這項屬性,則代表支援的最高 compatibility_level。
|
repo_name
|
預設值為 '' 代表這個依附元件的外部存放區名稱。預設為模組名稱。 |
dev_dependency
|
預設為 False 如果為 true,且目前模組不是根模組,或啟用 `--ignore_dev_dependency`,系統就會忽略這項依附元件。 |
git_override
None
git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)
參數
參數 | 說明 |
---|---|
module_name
|
必要 要套用這項覆寫的 Bazel 模組依附元件名稱。 |
remote
|
必填 遠端 Git 存放區的網址。 |
commit
|
預設值為 '' 應簽出的提交內容。 |
patches
|
字串的可疊代項目;
預設為 [] 指向要套用至此模組的修補程式檔案的標籤清單。修補程式檔案必須位於頂層專案的來源樹狀結構中。系統會依清單順序套用規則。 |
patch_cmds
|
string 的可疊代項目;
預設為 [] 修補程式套用後,要在 Linux/macOS 上套用的 Bash 指令序列。 |
patch_strip
|
預設值為 0 與 Unix patch 的 --strip 引數相同。 |
local_path_override
None
local_path_override(module_name, path)
參數
參數 | 說明 |
---|---|
module_name
|
必要 要套用這項覆寫的 Bazel 模組依附元件名稱。 |
path
|
必要 這個模組所在目錄的路徑。 |
module
None
module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
最多只能呼叫一次。只有當這個模組是根模組時 (也就是不會依附於其他模組),才能省略這項設定。
參數
參數 | 說明 |
---|---|
name
|
預設值為 '' 模組名稱。只有當這個模組是根模組時 (也就是不會依附於其他模組),才能省略這個屬性。有效的模組名稱必須:1) 只能包含小寫字母 (a-z)、數字 (0-9)、半形句點 (.)、連字號 (-) 和底線 (_);2) 以小寫字母開頭;3) 以小寫字母或數字結尾。 |
version
|
預設值為 '' 模組版本。只有當這個模組是根模組時 (也就是不會依附於其他模組),才能省略這個屬性。版本必須採用寬鬆的 SemVer 格式,詳情請參閱說明文件。 |
compatibility_level
|
預設為 0 模組的相容性層級;每當推出不相容的重大變更時,就應變更這個層級。就 SemVer 而言,這基本上是模組的「主要版本」,但它並未內嵌在版本字串本身,而是以獨立欄位存在。相容性等級不同的模組會參與版本解析,就像名稱不同的模組一樣,但最終的依附元件圖表不得包含名稱相同但相容性等級不同的多個模組 (除非 multiple_version_override 生效)。詳情請參閱說明文件。
|
repo_name
|
預設值為 '' 代表這個模組的存放區名稱,模組本身會看到這個名稱。根據預設,存放區名稱就是模組名稱。如果專案使用的存放區名稱與模組名稱不同,可以指定這個屬性,方便遷移。 |
bazel_compatibility
|
字串的可疊代項目;
預設為 [] 使用者可宣告與這個模組相容的 Bazel 版本清單。這不會影響依附元件解析,但 bzlmod 會使用這項資訊檢查目前的 Bazel 版本是否相容。這個值的格式為以半形逗號分隔的某些限制值字串。系統支援三種限制:<=X.X.X:Bazel 版本必須等於或舊於 X.X.X。如果新版本有已知的不相容變更,就會使用這項限制。>=X.X.X:Bazel 版本必須等於或新於 X.X.X。當您依附於 X.X.X 之後才推出的功能時,請使用這個版本。-X.X.X:Bazel X.X.X 版本不相容。如果 X.X.X 版本有錯誤導致您無法正常運作,但後續版本已修正,請使用這個選項。 |
multiple_version_override
None
multiple_version_override(module_name, versions, registry='')
參數
參數 | 說明 |
---|---|
module_name
|
必要 要套用這項覆寫的 Bazel 模組依附元件名稱。 |
versions
|
字串的疊代器;
必要 明確指定允許共存的版本。這些版本必須已出現在預先選取的依附元件圖表中。這個模組的依附元件會「升級」至相同相容性層級中,最接近的較高允許版本;如果依附元件的版本高於相同相容性層級中的任何允許版本,就會導致錯誤。 |
registry
|
預設值為 '' 覆寫這個模組的登錄檔;系統不會從預設登錄檔清單中尋找這個模組,而是使用指定的登錄檔。 |
register_execution_platforms
None
register_execution_platforms(dev_dependency=False, *platform_labels)
@
或 //
開頭)。詳情請參閱工具鍊解析。
參數
參數 | 說明 |
---|---|
dev_dependency
|
預設值為 False 如果為 true,且目前模組不是根模組或已啟用 `--ignore_dev_dependency`,系統就不會註冊執行平台。 |
platform_labels
|
字串序列;
必要 要註冊的平台標籤。 |
register_toolchains
None
register_toolchains(dev_dependency=False, *toolchain_labels)
@
或 //
開頭)。詳情請參閱工具鍊解析。
參數
參數 | 說明 |
---|---|
dev_dependency
|
預設值為 False 如果為 true,且目前模組不是根模組或已啟用 `--ignore_dev_dependency`,工具鍊就不會註冊。 |
toolchain_labels
|
字串的序列;
必要 要註冊的工具鍊標籤。標籤可以包含 :all ,在這種情況下,系統會依名稱的字典順序,在套件中註冊所有提供工具鍊的目標。 |
single_version_override
None
single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
參數
參數 | 說明 |
---|---|
module_name
|
必要 要套用這項覆寫的 Bazel 模組依附元件名稱。 |
version
|
預設為 '' 覆寫依附元件圖中這個模組的宣告版本。換句話說,這個模組會「固定」在這個覆寫版本。如果只想覆寫登錄檔或修補程式,可以省略這個屬性。 |
registry
|
預設值為 '' 覆寫這個模組的登錄檔;系統不會從預設登錄檔清單中尋找這個模組,而是使用指定的登錄檔。 |
patches
|
字串的可疊代項目;
預設為 [] 指向要套用至此模組的修補程式檔案的標籤清單。修補程式檔案必須位於頂層專案的來源樹狀結構中。系統會依清單順序套用規則。 |
patch_cmds
|
string 的可疊代項目;
預設為 [] 修補程式套用後,要在 Linux/macOS 上套用的 Bash 指令序列。 |
patch_strip
|
預設值為 0 與 Unix patch 的 --strip 引數相同。 |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)
參數
參數 | 說明 |
---|---|
extension_bzl_file
|
必要 定義模組擴充功能的 Starlark 檔案標籤。 |
extension_name
|
必要 要使用的模組擴充功能名稱。Starlark 檔案必須匯出具有這個名稱的符號。 |
dev_dependency
|
預設值為 False 如果為 true,且目前模組不是根模組或已啟用 `--ignore_dev_dependency`,系統會忽略這個模組擴充功能的使用情形。 |
isolate
|
預設值為 False Experimental。這項參數仍在實驗階段,因此隨時可能變動。因此請勿依賴這項功能。您可以將 ---experimental_isolated_extension_usages 設為 true,以實驗性質啟用這項功能。如果設為 true,這個模組擴充功能的用法會與這個模組和其他模組的所有其他用法隔離。為此用途建立的標記不會影響其他用途,且擴充功能為此用途產生的存放區,與擴充功能產生的所有其他存放區不同。 這項參數目前為實驗性質,且僅適用於 |
use_repo
None
use_repo(extension_proxy, *args, **kwargs)
參數
參數 | 說明 |
---|---|
extension_proxy
|
必要use_extension 呼叫傳回的模組擴充功能 Proxy 物件。
|
args
|
必要 要匯入的存放區名稱。 |
kwargs
|
必要 指定要匯入目前模組範圍的特定存放區,並使用不同名稱。鍵應為要在目前範圍中使用的名稱,而值應為模組擴充功能匯出的原始名稱。 |
use_repo_rule
repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)
name
屬性宣告。您也可以在 Proxy 上使用隱含的布林值 dev_dependency
屬性,表示只有在目前模組是根模組時,才能建立特定存放區。
參數
參數 | 說明 |
---|---|
repo_rule_bzl_file
|
必要 定義存放區規則的 Starlark 檔案標籤。 |
repo_rule_name
|
必要 要使用的 repo 規則名稱。Starlark 檔案必須匯出具有這個名稱的符號。 |