WORKSPACE 檔案

回報問題 夜間 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

WORKSPACE 檔案中可用的方法。

成員

繫結

None bind(name, actual=None)

已淘汰:如要深入瞭解相關問題和替代方案,請參閱「考慮移除繫結」。bind() 不適用於 Bzlmod。

//external 套件中為目標提供別名。

參數

參數 說明
name 字串; 必要
「//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 會嘗試為 maven_jar 寫入 WORKSPACE 檔案,其中包含 workspace(name = 'foo%bar')

參數

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