WORKSPACE 檔案

回報問題 Nightly

WORKSPACE 檔案提供的方法。

成員

bind

None bind(name, actual=None)

已淘汰:如要深入瞭解相關問題和替代方案,請參閱考慮移除繫結一文。Bzlmod 不提供 bind()

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

參數

參數 說明
name string; required
「//external」底下的標籤會用來當做別名名稱
actual string;或 None;預設值為 None
要設為別名的實際標籤

register_execution_platforms

None register_execution_platforms(*platform_labels)

指定要註冊的已定義的執行平台。必須為絕對目標模式,例如開頭為 @//。詳情請參閱工具鍊解決方案。如果模式擴展到多個目標 (例如 :all),則會依名稱的字母順序登錄。

參數

參數 說明
platform_labels 「字串」的 sequence;必要
要註冊的目標模式。

register_toolchains

None register_toolchains(*toolchain_labels)

指定要註冊的已定義工具鍊。必須為絕對目標模式,例如開頭為 @//。詳情請參閱工具鍊解決方案。如果模式擴展到多個目標 (例如 :all),會依目標名稱 (而非工具鍊實作的名稱) 按字母順序註冊。

參數

參數 說明
toolchain_labels 「字串」的 sequence;必要
要註冊的目標模式。

工作區

None workspace(name)

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

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

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

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

參數

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