WORKSPACE 檔案

WORKSPACE 檔案中可用的方法。

成員

繫結

None bind(name, actual=None)

警告:不建議使用 bind()。如要深入瞭解相關問題和替代方案,請參閱「考慮移除繫結」。

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

參數

參數 說明
name 必要
「//external」底下的標籤,做為別名
actual stringNone;預設值為 None
要別名的實際標籤

register_execution_platforms

None register_execution_platforms(*platform_labels)

註冊已定義的平台,讓 Bazel 在工具鍊解析期間,將其做為執行平台使用。

參數

參數 說明
platform_labels sequence of strings;必要
要註冊的平台標籤。

register_toolchains

None register_toolchains(*toolchain_labels)

註冊已定義的工具鍊,讓 Bazel 在工具鍊解析期間使用。請參閱定義註冊工具鍊的範例。

參數

參數 說明
toolchain_labels sequence of strings;必要
要註冊的工具鍊標籤。標籤可以包含 :all,在這種情況下,套件中所有提供工具鍊的目標都會依名稱以字典順序註冊。

工作區

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 必要
工作區名稱。名稱開頭須為英文字母,而且只能使用英文字母、數字、底線、連字號和點。