WORKSPACE 檔案

回報問題 Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

WORKSPACE 檔案中可用的函式。

成員

繫結

None bind(name, actual=None)

已淘汰:請參閱「考慮移除 bind」,進一步瞭解相關問題和替代方案。bind() 不適用於 Bzlmod。

//external 套件中為目標指定別名。

參數

參數 說明
name string; 必要
「//external」底下的標籤,用於做為別名名稱
actual 字串;或 None; 預設為 None
要建立別名的實際標籤

register_execution_platforms

None register_execution_platforms(*platform_labels)

指定要註冊的已定義執行平台。應為絕對目標模式 (即以 @// 開頭)。詳情請參閱工具鍊解析。展開至多個目標的模式 (例如 :all) 會依字典順序依名稱註冊。

參數

參數 說明
platform_labels 字串序列; 必填
要註冊的目標模式。

register_toolchains

None register_toolchains(*toolchain_labels)

指定要註冊的已定義工具鍊。應為絕對目標模式 (即以 @// 開頭)。詳情請參閱工具鍊解析。可展開至多個目標的模式 (例如 :all) 會依照字典順序 (而非工具鍊實作名稱) 以字母順序註冊。

參數

參數 說明
toolchain_labels 字串序列; 必填
要註冊的目標模式。

工作區

None workspace(name)

這個函式只能在 WORKSPACE 檔案中使用,且必須在 WORKSPACE 檔案中的所有其他函式之前宣告。每個 WORKSPACE 檔案都應有 workspace 函式。

設定這個工作區的名稱。工作區名稱應為專案的 Java 套件樣式說明,使用底線做為分隔符,例如 github.com/bazelbuild/bazel 應使用 com_github_bazelbuild_bazel。

這個名稱會用於儲存存放區的執行檔的目錄。舉例來說,如果本機存放區中有 foo/bar 執行檔,且 WORKSPACE 檔案包含 workspace(name = 'baz'),則 mytarget.runfiles/baz/foo/bar 下會提供執行檔。如果未指定工作區名稱,則執行檔會建立符號連結至 bar.runfiles/foo/bar

遠端存放區規則名稱必須是有效的工作區名稱。舉例來說,您可以有 maven_jar(name = 'foo'),但不能有 maven_jar(name = 'foo%bar'),因為 Bazel 會嘗試為包含 workspace(name = 'foo%bar')maven_jar 寫入 WORKSPACE 檔案。

參數

參數 說明
name string; 必填
工作區名稱。名稱開頭須為英文字母,而且只能使用英文字母、數字、底線、連字號和點。