WORKSPACE 檔案

回報問題

WORKSPACE 檔案提供的方法。

成員

bind

None bind(name, actual=None)

警告:不建議使用 bind()。請參閱考慮移除繫結,以便長時間討論問題和替代方案。

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

參數

參數 說明
name 必要
「//external」下方的標籤可做為別名名稱
actual string;或 None;預設值為 None
要加上別名的實際標籤

register_execution_platforms

None register_execution_platforms(*platform_labels)

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

參數

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

register_toolchains

None register_toolchains(*toolchain_labels)

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

參數

參數 說明
toolchain_labels stringsequence;必要
要註冊的工具鍊標籤。標籤可包含 :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 下使用 runfile。如果沒有指定工作區名稱,則 runfile 將符號連結至 bar.runfiles/foo/bar

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

參數

參數 說明
name 必要
工作區名稱。名稱只能使用英文字母、數字、底線、破折號和半形句號,而且開頭須為英文字母。