bazel [<startup options>] <command> [<args>]或
bazel [<startup options>] <command> [<args>] -- [<target patterns>]如需目標模式語法,請參閱使用手冊。
選項語法
您可透過不同方式將選項傳遞至 Bazel。需要值的選項可以使用等號或空格來傳遞:
--<option>=<value> --<option> <value>有些選項採用單一字元短格式;在這種情況下,必須使用以單破折號和空格傳遞短格式。
-<short_form> <value>
布林值選項的啟用方式如下:
--<option> --<option>=[true|yes|1]及停用方式如下:
--no<option> --<option>=[false|no|0]
三州選項通常預設為自動,可以依下列方式強制執行啟用:
--<option>=[true|yes|1]或強制停用:
--no<option> --<option>=[false|no|0]
指令
analyze-profile |
分析建構設定檔資料。 |
aquery |
分析指定目標並查詢動作圖表。 |
build |
建立指定的目標。 |
canonicalize-flags |
標準化邊框選項清單。 |
clean |
移除輸出檔案,並視需要停止伺服器。 |
coverage |
產生指定測試目標的程式碼涵蓋率報表。 |
cquery |
透過設定載入、分析及查詢指定的目標。 |
dump |
傾印 bazel 伺服器程序的內部狀態。 |
fetch |
擷取目標的必要外部存放區。 |
help |
列印指令或索引的說明。 |
info |
顯示 Bazel 伺服器的執行階段資訊。 |
license |
列印這個軟體的授權。 |
mobile-install |
在行動裝置上安裝目標。 |
mod |
查詢 Bzlmod 外部依附元件圖表 |
print_action |
列印用於編譯檔案的指令列引數。 |
query |
執行依附元件圖查詢。 |
run |
執行指定的目標。 |
shutdown |
停止 bazel 伺服器。 |
sync |
同步處理工作區檔案中指定的所有存放區 |
test |
建構並執行指定的測試目標。 |
version |
列印邊框的版本資訊。 |
開機選項
- 出現在指令之前,並由用戶端剖析的選項:
--[no]autodetect_server_javabase
預設值:「true」-
傳遞 --noautodetect_server_javabase 時,Bazel 不會改回執行 bazel 伺服器,而會改回使用本機 JDK。
標記:affects_outputs
、loses_incremental_state
--[no]batch
預設值:「false」-
如果設定此選項,Bazel 會以不使用伺服器的方式單獨執行 Bazel,而不是在標準用戶端/伺服器模式下執行。這個 Chrome 已淘汰且即將移除。如果不想讓伺服器產生錯誤,建議您明確關閉伺服器。
標記:loses_incremental_state
、bazel_internal_configuration
、deprecated
--[no]batch_cpu_scheduling
預設值:「false」-
僅適用於 Linux;針對 Blaze 使用「批次」 CPU 排程。這項政策適用於非互動式工作負載,但不希望降低這類工作負載的價值。請參閱「man 2 sched_setscheduler」相關說明。如果為 false,Bazel 不會執行系統呼叫。
標記:host_machine_resource_optimizations
--bazelrc=<path>
預設值:查看說明-
使用者 .bazelrc 檔案的位置,其中含有 Bazel 選項的預設值。/dev/null 表示系統會忽略所有進一步的 `--bazelrc`,這有助於停用使用者 rc 檔案的搜尋,例如在發布子版本中搜尋。此外,也可以多次指定這個選項。例如:讀取 `--bazelrc=x.rc --bazelrc=y.rc --bazelrc=/dev/null --bazelrc=z.rc`,
1) x.rc 和 y.rc。
2) 因先前 /dev/null 而忽略 z.rc。如未指定,Bazel 會在以下兩個位置找到第一個 .bazelrc 檔案:workspace 目錄和使用者的主目錄。注意:指令列選項一律會取代 bazelrc 中的任何選項。
標記:changes_inputs
--[no]block_for_lock
預設值:「true」-
傳遞 --noblock_for_lock 時,Bazel 不會等待執行中的指令完成,而是立即結束。
標記:eagerness_to_exit
--[no]client_debug
預設值:「false」-
如果為 true,請將用戶端的偵錯資訊記錄到 stderr。變更這個選項不會導致伺服器重新啟動。
標記:affects_outputs
、bazel_monitoring
--connect_timeout_secs=<an integer>
預設值:「30」-
用戶端每次嘗試連線至伺服器的時間長度。
標記:bazel_internal_configuration
--[no]expand_configs_in_place
預設值:「true」-
將 --config 旗標的展開動作改為就地完成,而不是在一般 rc 選項與指令列指定選項之間的固定點展開。
標記:no_op
、deprecated
--failure_detail_out=<path>
預設值:查看說明-
如設定,在伺服器發生失敗且無法繼續透過 gRPC 回報時,指定會寫入失敗_detail protobuf 訊息的位置。否則,位置會是 ${OUTPUT_BASE}/failure_detail.rawproto。
標記:affects_outputs
、loses_incremental_state
--[no]home_rc
預設值:「true」-
是否要在 $HOME/.bazelrc 尋找主要 bazelrc 檔案
標記:changes_inputs
--[no]idle_server_tasks
預設值:「true」-
在伺服器處於閒置狀態時執行 System.gc()
標記:loses_incremental_state
、host_machine_resource_optimizations
--[no]ignore_all_rc_files
預設值:「false」-
無論其他 rc 修改旗標的值為何,都會停用所有 rc 檔案,即使這些標記日後出現在啟動選項清單中也一樣。
標記:changes_inputs
--io_nice_level={-1,0,1,2,3,4,5,6,7}
預設值:「-1」-
僅適用於 Linux;如要盡可能讓 IO 排程,請使用 sys_ioprio_set 系統呼叫。0 代表優先順序最高,7 代表最低。預期排程器最多只能接受優先順序 4。如果設為負值,Bazel 就不會執行系統呼叫。
標記:host_machine_resource_optimizations
--local_startup_timeout_secs=<an integer>
預設值:「120」-
用戶端連線至伺服器的時間上限
標記:bazel_internal_configuration
--macos_qos_class=<a string>
預設值:「預設」-
在 macOS 上執行時,設定 Bazel 伺服器的 QoS 服務類別。這個標記對所有其他平台沒有影響,但可支援確保 rc 檔案無需變更。可能的值包括:使用者互動式、使用者啟動、預設值、公用程式和背景。
標記:host_machine_resource_optimizations
--max_idle_secs=<integer>
預設值:「10800」-
建構伺服器在關閉前等待的秒數。0 表示伺服器一律不會關閉。只會在伺服器啟動時讀取這項狀態,變更這個選項不會導致伺服器重新啟動。
標記:eagerness_to_exit
、loses_incremental_state
--output_base=<path>
預設值:查看說明-
如果設定,就會指定要寫入所有建構輸出內容的輸出位置。否則,位置為 ${OUTPUT_ROOT}/_blaze_${USER}/${MD5_OF_WORKSPACE_ROOT}。注意:如果您為這個值指定不同的選項,與下一個 Bazel 叫用不同,可能會啟動額外的 Bazel 伺服器。Bazel 針對每個指定的輸出數只會啟動一個伺服器。一般來說,每個工作區都有一個輸出基礎。不過,使用這個選項時,每個工作區可能會有多個輸出基礎,這樣一來,就能在同一部機器中為同一個用戶端同時執行多個建構作業。如要瞭解如何關閉 Bazel 伺服器,請參閱「bazel help 關閉」一節。
標記:affects_outputs
、loses_incremental_state
--output_user_root=<path>
預設值:查看說明-
寫入所有建構輸出內容的使用者專屬目錄。根據預設,這是 $USER 的函式,但藉由指定常數,即可在協作使用者之間共用建構輸出內容。
標記:affects_outputs
、loses_incremental_state
--[no]preemptible
預設值:「false」-
如果為 true,則在啟動其他指令時,該指令可能會遭到先佔。
標記:eagerness_to_exit
--server_jvm_out=<path>
預設值:查看說明-
寫入伺服器 JVM 輸出內容的位置。如未設定,則預設為 output_base 中的位置。
標記:affects_outputs
、loses_incremental_state
--[no]shutdown_on_low_sys_mem
預設值:「false」-
如果已設定 max_idle_secs,且建構伺服器閒置一段時間,請在系統可用 RAM 偏低時關閉伺服器。(僅限 Linux)。
標記:eagerness_to_exit
、loses_incremental_state
--[no]system_rc
預設值:「true」-
是否要尋找整個系統的蝴蝶餅。
標記:changes_inputs
--[no]unlimit_coredumps
預設值:「false」-
將 soft coredump 限制提高至硬性限制,即可在一般情況下為伺服器 (包括 JVM) 和用戶端盡可能產出核心轉儲。將這個標記放在 bazelrc 中並忘記使用一次,這樣當您實際遇到會觸發核心傾印時,便可取得 Coredump。
標記:bazel_internal_configuration
--[no]watchfs
預設值:「false」-
如果為 True,bazel 會嘗試使用作業系統的檔案監控服務進行本機變更,而不是掃描每個檔案是否有變更。
標記:deprecated
--[no]windows_enable_symlinks
預設值:「false」-
如果設為 True,系統會在 Windows 上建立實際的符號連結,而非複製檔案。須啟用 Windows 開發人員模式及 Windows 10 1703 以上版本。
標記:bazel_internal_configuration
--[no]workspace_rc
預設值:「true」-
是否要在 $workspace/.bazelrc 中尋找 Workspace bazelrc 檔案
標記:changes_inputs
- 累積共計
--host_jvm_args=<jvm_arg>
次 - 傳送至執行 Blaze 的 JVM 的旗標。
--host_jvm_debug
- 方便新增一些其他 JVM 啟動旗標,這會導致 JVM 在啟動期間等待,直到您從符合 JDWP 標準的偵錯工具 (例如 Eclipse) 連線到通訊埠 5005 為止。
展開至:
--host_jvm_args=-Xdebug
--host_jvm_args=-Xrunjdwp:transport=dt_socket,server=y,address=5005
--host_jvm_profile=<profiler_name>
預設值:「」- 方便新增部分分析器/偵錯工具的 JVM 啟動旗標。Bazel 有對應至硬式編碼 JVM 啟動旗標的已知值清單,可能還會搜尋某些以硬式編碼方式寫入特定檔案的路徑。
--server_javabase=<jvm path>
預設值:「」- 用於執行 Bazel 本身的 JVM 路徑。
所有指令的常用選項
- 控制建構執行作業的選項:
--experimental_oom_more_eagerly_threshold=<an integer>
預設值:「100」-
如果這個旗標設為小於 100 的值,當兩部完整 GC 完成後,在 (舊版) 堆積持續佔用的這個百分比後,Bazel 就會 OOM。
標記:host_machine_resource_optimizations
--experimental_ui_max_stdouterr_bytes=<an integer in (-1)-1073741819 range>
預設值:「1048576」-
要列印至控制台的 stdout / stderr 檔案大小上限。-1 表示無限制。
標記:execution
- 可讓使用者設定預期的輸出內容,影響其值 (而非存在):
- 累積共計
--repo_env=<a 'name=value' assignment with an optional value part>
次 -
指定僅可用於存放區規則的其他環境變數。請注意,存放區規則仍會顯示完整的環境,但透過這種方式,設定資訊可以透過選項傳遞至存放區,而不會使動作圖表失效。
標記:action_command_lines
- 這些選項會影響 Bazel 嚴格強制執行有效建構輸入 (規則定義、標記組合等) 的方式:
--[no]check_bzl_visibility
預設值:「true」-
如果停用的話,.bzl 載入瀏覽權限錯誤會降級為警告。
標記:build_file_semantics
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]enable_bzlmod
預設值:「false」-
如果設為 true,系統會啟用 Bzlmod 依附元件管理系統,優先順序高於 WORKSPACE。詳情請參閱 https://bazel.build/docs/bzlmod。
標記:loading_and_analysis
--[no]experimental_action_resource_set
預設值:「true」-
如果設為 True,則 ctx.actions.run() 和 ctx.actions.run_shell() 會接受用於本機執行的 resource_set 參數。否則,記憶體用量將預設為 250 MB,CPU 則為 1 CPU。
標記:execution
、build_file_semantics
、experimental
-
如果設為 true,系統會將標記從目標傳播至動作的執行要求,否則就不會傳播標記。詳情請參閱 https://github.com/bazelbuild/bazel/issues/8830。
標記:build_file_semantics
、experimental
--[no]experimental_analysis_test_call
預設值:「true」-
如果設為 true,即可使用 Analysis_test 原生呼叫。
標記:loading_and_analysis
、build_file_semantics
、experimental
--[no]experimental_bzl_visibility
預設值:「true」-
如果啟用,系統會新增「visibility()」函式,讓 .bzl 檔案在頂層評估期間呼叫,以便設定其瀏覽權限,以便用於 load() 陳述式。
標記:loading_and_analysis
、experimental
-
如果設為 true,系統將提供規則 cc_shared_library 所需的規則屬性和 Starlark API 方法。
標記:build_file_semantics
、loading_and_analysis
、experimental
--[no]experimental_disable_external_package
預設值:「false」-
如果設為 true,就無法再使用自動產生的 //外部套件。Bazel 仍然無法剖析「external/BUILD」檔案,但 glob 可以連線至外部/ 從未命名的套件。
標記:loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_enable_android_migration_apis
預設值:「false」-
如果設為 True,請啟用支援 Android Starlark 遷移作業所需的 API。
標記:build_file_semantics
--[no]experimental_get_fixed_configured_action_env
預設值:「false」-
如果啟用,action.env 也會傳回透過功能設定指定的固定環境變數。
標記:loading_and_analysis
、experimental
--[no]experimental_google_legacy_api
預設值:「false」-
如果設為 True,就會向 Google 舊版程式碼公開一些有關 Starlark 建構 API 的實驗性元件。
標記:loading_and_analysis
、experimental
--[no]experimental_isolated_extension_usages
預設值:「false」-
如果設為 True,請在 <a href="https://bazel.build/rules/lib/globals/module#use_extension"><code>use_extension</code></a> 函式中啟用<code>隔離</code>參數。
標記:loading_and_analysis
--[no]experimental_lazy_template_expansion
預設值:「true」-
如果設為 true,ctx.actions.expand_template() 會接受 TemplateDict 參數以延遲評估替換值。
標記:execution
、build_file_semantics
、experimental
--[no]experimental_platforms_api
預設值:「false」-
如果設為 True,則會啟用多個與平台相關的 Starlark API,用於偵錯。
標記:loading_and_analysis
、experimental
--[no]experimental_repo_remote_exec
預設值:「false」-
如果設為 True,則 Repository_rule 會取得部分遠端執行功能。
標記:build_file_semantics
、loading_and_analysis
、experimental
--[no]experimental_sibling_repository_layout
預設值:「false」-
如果設為 True,系統會將非主存放區規劃為執行根目錄中主要存放區的符號連結。也就是說,所有存放區都是 $output_base/execution_root 目錄的直接子項。這會將 $output_base/execution_root/__main__/external 釋出到實際的頂層「external」目錄。
標記:action_command_lines
、bazel_internal_configuration
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]incompatible_always_check_depset_elements
預設值:「true」-
檢查所有建構函式中加入的元素是否有效。元素必須不可變動,但以往 depset(direct=...) 建構函式忘記檢查。使用 depset 元素中的 Tuples 而非清單。詳情請參閱 https://github.com/bazelbuild/bazel/issues/10313。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_depset_for_libraries_to_link_getter
預設值:「true」-
如果為 true,Bazel 不會再從 links_context.library_to_link 傳回清單,但會改為傳回 depset。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_disable_objc_library_transition
預設值:「false」-
停用 objc_library 的自訂轉場效果,並沿用頂層目標的設定
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disable_starlark_host_transitions
預設值:「false」-
如果設為 True,規則屬性就無法設定「cfg = "host"」。規則應改為設定「cfg = "exec」。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_disable_target_provider_fields
預設值:「false」-
如果設為 true,就無法透過欄位語法在「目標」物件上存取供應器。請改用提供者金鑰語法。舉例來說,請勿使用「ctx.attr.dep.my_info」在規則實作函式中存取 `my_info`,而是改用「ctx.attr.dep[MyInfo]」使用這項服務。詳情請參閱 https://github.com/bazelbuild/bazel/issues/9014。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disallow_empty_glob
預設值:「false」-
如果設為 true,glob() 的「allow_empty」引數預設值為 False。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disallow_legacy_javainfo
預設值:「true」- :已淘汰,免人工管理。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disallow_struct_provider_syntax
預設值:「false」-
如果設為 True,規則實作函式可能無法傳回結構。而必須改為傳回提供者執行個體的清單。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_existing_rules_immutable_view
預設值:「true」-
如果設為 true, native.現有_rule 和 native.現有_rules 會傳回輕量的不可變檢視物件,而非可變動的字典。
標記:build_file_semantics
、loading_and_analysis
、incompatible_change
--[no]incompatible_fail_on_unknown_attributes
預設值:「false」-
如果啟用這個選項,將不明屬性設為「None」的目標就會失敗。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_fix_package_group_reporoot_syntax
預設值:「true」-
在 package_group 的「packages」屬性中,將「//...」值的意義變更為參照目前存放區中的所有套件,而非任何存放區中的所有套件。您可以使用特殊值「public」來取代「//...」,藉此取得舊的行為。這個標記必須一併啟用 --incompatible_package_group_has_public_syntax。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_java_common_parameters
預設值:「true」-
如果設為 true,系統將移除 package_sources 中的 output_jar 和 host_javabase 參數,以及編譯中的 host_javabase 參數。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_merge_fixed_and_default_shell_env
預設值:「false」-
如果啟用的話,同時指定「env」和「use_default_shell_env = True」的 ctx.actions.run 和 ctx.actions.run_shell 將會使用從預設殼層環境取得的環境,並覆寫傳入「env」的值。如果停用的話,系統會完全忽略「env」的值。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_new_actions_api
預設值:「true」-
如果設為 true,建立動作的 API 僅適用於「ctx.actions」,不適用於「ctx」。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_no_attr_license
預設值:「true」-
如果設為 true,系統會停用「attr.license」函式。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_no_implicit_file_export
預設值:「false」-
如果已設定,除非明確匯出,否則 (使用) 的來源檔案一律是套件不公開的。詳情請參閱 https://github.com/bazelbuild/proposals/blob/master/designs/2019-10-24-file-visibility.md
標記:build_file_semantics
、incompatible_change
--[no]incompatible_no_rule_outputs_param
預設值:「false」-
如果設為 true,系統會停用「rule()」Starlark 函式的「outputs」參數。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_package_group_has_public_syntax
預設值:「true」-
在 package_group 的「packages」屬性允許寫入「public」或「private」,分別參照所有套件或完全不參照套件。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_require_linker_input_cc_api
預設值:「true」-
如果設為 true,規則 create_linking_context 將需要使用 linker_inputs,而不是 library_to_link。系統將停用 link_context 的舊 getter,並且只提供 linker_inputs。
標記:build_file_semantics
、loading_and_analysis
、incompatible_change
--[no]incompatible_run_shell_command_string
預設值:「true」-
如果設為 true, actions.run_shell 的指令參數只會接受字串
標記:build_file_semantics
、incompatible_change
--[no]incompatible_stop_exporting_language_modules
預設值:「false」-
啟用後,使用者 .bzl 檔案不支援特定語言專用的模組 (例如「cc_common」),而且只能從相應的規則存放區呼叫。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_struct_has_no_methods
預設值:「false」-
停用 struct 的 to_json 和 to_proto 方法,這會破壞結構欄位命名空間。請改用 json.encode 或 json.encode_indent (適用於 JSON),或針對 textproto 使用 proto.encode_text。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_top_level_aspects_require_providers
預設值:「false」-
如果設為 True,頂層項目會配合必要供應商,且只會在頂層目標中放送,前提是廣告規則的供應商符合該方面的必要供應商。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_unambiguous_label_stringification
預設值:「true」-
如果為 true,Bazel 會將標籤 @//foo:bar 字串字串化為 @//foo:bar,而不是 //foo:bar。這只會影響 str()、% 運算子等的行為;repr() 的行為不會改變。詳情請參閱 https://github.com/bazelbuild/bazel/issues/15916。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_use_cc_configure_from_rules_cc
預設值:「false」-
設為 true 時,Bazel 將不再允許使用 @bazel_tools 的 cc_configure。如需詳細資訊和遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/10134。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_visibility_private_attributes_at_definition
預設值:「false」-
如果設為 true,系統會根據規則定義檢查私人規則屬性的瀏覽權限,而非規則使用方式。
標記:build_file_semantics
、incompatible_change
--max_computation_steps=<a long integer>
預設值:「0」-
BUILD 檔案可執行的 Starlark 運算步驟數量上限 (零表示無限制)。
標記:build_file_semantics
--nested_set_depth_limit=<an integer>
預設值:「3500」-
Depset (也稱為 NestedSet) 內部圖表的深度上限,Depset() 建構函式會失敗。
標記:loading_and_analysis
- 可觸發建構時間最佳化的選項:
--[no]incompatible_do_not_split_linking_cmdline
預設值:「true」-
設為 true 時,Bazel 不會再修改用於連結的指令列旗標,也不會選擇性決定哪些標記會指向參數檔案,哪些標記不會。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7670。
標記:loading_and_analysis
、incompatible_change
--[no]keep_state_after_build
預設值:「true」-
如果為 false,Blaze 會在建構完成後捨棄這個版本的記憶體狀態。後續建構作業不會有任何增量性。
標記:loses_incremental_state
--skyframe_high_water_mark_threshold=<an integer>
預設值:「85」-
Bazel 內部 SkyFrame 引擎的進階設定旗標。如果 Bazel 偵測到的保留堆積百分比用量低於這個門檻,就會捨棄不必要的 SkyFrame 狀態。如果調整這個項目,可以減少 GC 擲回實際時間的影響 (i) 此暫時性狀態所造成的記憶體用量,以及 (ii) 在需要時重覆狀態的成本更高。
標記:host_machine_resource_optimizations
--[no]track_incremental_state
預設值:「true」-
如果為 false,Blaze 不會保留允許無效版本並重新評估漸進式建構作業的資料,以便節省這個建構作業的記憶體。後續版本不會有任何增量性。您通常在將此設定設為 false 時,會需要指定 --batch。
標記:loses_incremental_state
- 影響記錄詳細程度、格式或位置的選項:
--[no]announce_rc
預設值:「false」-
是否發布 rc 選項。
標記:affects_outputs
--[no]attempt_to_print_relative_paths
預設值:「false」-
列印訊息的位置部分時,請嘗試使用相對於工作區目錄或 --package_path 指定的其中一個目錄的路徑。
標記:terminal_output
--bes_backend=<a string>
預設值:「」-
以 [SCHEME://]HOST[:PORT] 的格式指定建構事件服務 (BES) 後端端點。預設設定是停用 BES 上傳功能。支援的配置為 grpc 和 grpc (已啟用 TLS 的 grpc)。如未提供配置,Bazel 會假設您採用 Grpc。
標記:affects_outputs
--[no]bes_check_preceding_lifecycle_events
預設值:「false」-
在 PublishBuildToolEventStreamRequest 上設定 check_preceding_lifecycle_events_present,讓 BES 檢查先前是否收到 Invocation 嘗試 Started 和 BuildEnqueued 事件,與目前工具事件相符。
標記:affects_outputs
- 累積共計
--bes_header=<a 'name=value' assignment>
次 -
請以 NAME=VALUE 格式指定標頭,並將該標頭納入 BES 要求中。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
標記:affects_outputs
--bes_instance_name=<a string>
預設值:查看說明-
指定執行個體名稱,BES 將用來保留上傳的 BEP。預設值為空值。
標記:affects_outputs
- 累積共計
--bes_keywords=<comma-separated list of options>
次 -
指定要新增至 BES 預設關鍵字組合的通知關鍵字清單 (「command_name=<command_name> ", "protocol_name=BEP」)。預設值為無。
標記:affects_outputs
--[no]bes_lifecycle_events
預設值:「true」-
指定是否要發布 BES 生命週期事件。(預設為「true」)。
標記:affects_outputs
--bes_oom_finish_upload_timeout=<An immutable length of time.>
預設值:「10m」-
用於指定在 OOM 處理期間,Bazel 需要等待 BES/BEP 上傳作業完成多久。這個標記可確保當 JVM 嚴重發生 GC 異常終止時終止,且無法在任何使用者執行緒上取得進度。
標記:bazel_monitoring
--bes_outerr_buffer_size=<an integer>
預設值:「10240」-
指定要在 BEP 報告為進度事件之前緩衝的 stdout 或 stderr 大小上限。即使超過指定值 (上限為 --bes_outerr_chunk_size),仍會在單一事件中回報個別寫入作業。
標記:affects_outputs
--bes_outerr_chunk_size=<an integer>
預設值:「1048576」-
指定在單一訊息中要傳送至 BEP 的 stdout 或 stderr 大小上限。
標記:affects_outputs
--bes_proxy=<a string>
預設值:查看說明- 透過 Proxy 連線至建構事件服務。這個旗標目前只能用來設定 Unix 網域通訊端 (unix:/path/to/socket)。
--bes_results_url=<a string>
預設值:「」-
指定基準網址,可讓使用者查看串流至 BES 後端的資訊。Bazel 會將叫用 ID 後附加的網址輸出至終端機。
標記:terminal_output
--bes_timeout=<An immutable length of time.>
預設值:「0s」- 指定 bazel 在建構和測試完成後,應該等待 BES/BEP 上傳作業完成多久。有效逾時時間是自然數字,後面接著單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。預設值為「0」,表示沒有任何逾時。
標記:affects_outputs
--build_event_binary_file=<a string>
預設值:「」-
如果非空白,請將建構事件通訊協定的以變數分隔的二進位表示法寫入該檔案。這個選項暗示 --bes_upload_mode=wait_for_upload_complete。
標記:affects_outputs
--[no]build_event_binary_file_path_conversion
預設值:「true」-
盡可能將建構事件通訊協定的二進位檔案表示法路徑轉換為更全域有效的 URI。如果停用的話,一律將一律使用 file:// uri 配置。
標記:affects_outputs
--build_event_json_file=<a string>
預設值:「」-
如果非空白,請將建構事件通訊協定的 JSON 序列化作業寫入該檔案。
標記:affects_outputs
--[no]build_event_json_file_path_conversion
預設值:「true」-
盡可能將建構事件通訊協定的 JSON 檔案表示法中的路徑轉換為全域有效的 URI。如果停用的話,一律將一律使用 file:// uri scheme。
標記:affects_outputs
--build_event_max_named_set_of_file_entries=<an integer>
預設值:「-1」-
單一 name_set_of_files 事件的項目數量上限;小於 2 的值會遭到忽略,且不會執行事件分割作業。這是用於限制建構事件通訊協定的事件大小上限,但無法直接控制事件的大小。事件總大小是集合結構、檔案和 URI 長度的函式,可能會取決於雜湊函式。
標記:affects_outputs
--[no]build_event_publish_all_actions
預設值:「false」-
指出是否應發布所有動作。
標記:affects_outputs
--build_event_text_file=<a string>
預設值:「」-
如果非空白,請將建構事件通訊協定的文字表示法寫入該檔案
標記:affects_outputs
--[no]build_event_text_file_path_conversion
預設值:「true」-
盡可能將建構事件通訊協定的文字檔案路徑,轉換為更全域有效的 URI。如果停用的話,一律將一律使用 file:// uri 配置。
標記:affects_outputs
--[no]experimental_announce_profile_path
預設值:「false」-
啟用後,會將 JSON 設定檔路徑新增至記錄檔。
標記:affects_outputs
、bazel_monitoring
--[no]experimental_bep_target_summary
預設值:「false」- 是否發布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets
預設值:「false」-
如果為 true,在顯示輸出檔案時,展開 BEP 中的檔案集。
標記:affects_outputs
--[no]experimental_build_event_fully_resolve_fileset_symlinks
預設值:「false」-
如果為 true,在顯示輸出檔案時,請完整解析 BEP 中的相對 Fileset 符號連結。需要 --experimental_build_event_expand_filesets。
標記:affects_outputs
--experimental_build_event_upload_max_retries=<an integer>
預設值:「4」-
Bazel 應重試上傳建構事件的次數上限。
標記:bazel_internal_configuration
--experimental_build_event_upload_retry_minimum_delay=<An immutable length of time.>
預設值:「1s」-
在 BEP 上傳失敗時,指數輪詢重試的最短延遲時間。(指數:1.6)
標記:bazel_internal_configuration
--experimental_build_event_upload_strategy=<a string>
預設值:查看說明-
選取如何上傳建構事件通訊協定中參照的構件。
標記:affects_outputs
- 累積共計
--experimental_profile_additional_tasks=<phase, action, action_check, action_lock, action_release, action_update, action_complete, bzlmod, info, create_package, remote_execution, local_execution, scanner, local_parse, upload_time, process_time, remote_queue, remote_setup, fetch, vfs_stat, vfs_dir, vfs_readlink, vfs_md5, vfs_xattr, vfs_delete, vfs_open, vfs_read, vfs_write, vfs_glob, vfs_vmfs_stat, vfs_vmfs_dir, vfs_vmfs_read, wait, thread_name, thread_sort_index, skyframe_eval, skyfunction, critical_path, critical_path_component, handle_gc_notification, action_counts, local_cpu_usage, system_cpu_usage, local_memory_usage, system_memory_usage, system_network_up_usage, system_network_down_usage, workers_memory_usage, system_load_average, starlark_parser, starlark_user_fn, starlark_builtin_fn, starlark_user_compiled_fn, starlark_repository_fn, action_fs_staging, remote_cache_check, remote_download, remote_network, filesystem_traversal, worker_execution, worker_setup, worker_borrow, worker_working, worker_copying_outputs, credential_helper or unknown>
次 -
指定要納入設定檔的其他設定檔工作。
標記:affects_outputs
、bazel_monitoring
--[no]experimental_profile_include_primary_output
預設值:「false」-
在動作事件中加入額外的「out」屬性 (其中包含動作主要輸出內容的執行路徑)。
標記:affects_outputs
、bazel_monitoring
--[no]experimental_profile_include_target_label
預設值:「false」-
在動作事件的 JSON 設定檔資料中加入目標標籤。
標記:affects_outputs
、bazel_monitoring
--[no]experimental_stream_log_file_uploads
預設值:「false」-
將記錄檔上傳直接串流至遠端儲存空間,而不是將這些檔案寫入磁碟。
標記:affects_outputs
--experimental_workspace_rules_log_file=<a path>
預設值:查看說明- 將特定 Workspace 規則事件記錄到這個檔案中,做為分隔的 WorkspaceEvent protos。
--[no]generate_json_trace_profile
預設值:「auto」-
如果啟用,Bazel 就會剖析建構作業,並將 JSON 格式設定檔寫入輸出集的檔案中。載入 chrome://tracing 即可查看個人資料。根據預設,Bazel 會針對所有類似建構的指令和查詢寫入設定檔。
標記:affects_outputs
、bazel_monitoring
--[no]heap_dump_on_oom
預設值:「false」-
是否在擲回 OOM 時手動輸出記憶體快照資料 (包括因 --experimental_oom_more_eagerly_threshold 造成的 OOM)。傾印會寫入 <output_base>/<invocation_id>.heapdump.hprof。這個選項能有效取代 -XX:+HeapDumpOnOutOfMemoryError,因為系統會偵測 OOM 並重新導向至 Runtime#halt。
標記:bazel_monitoring
--[no]legacy_important_outputs
預設值:「true」-
使用這個欄位可隱藏 TargetComplete 事件中舊版 important_outputs 欄位的產生作業。Bazel 必須與 ResultStore 整合才能使用重要_outputs。
標記:affects_outputs
--logging=<0 <= an integer <= 6>
預設值:「3」- 記錄層級。
標記:affects_outputs
--memory_profile=<a path>
預設值:查看說明-
如果已設定,則會在階段結束時將記憶體用量資料寫入指定檔案,並將穩定的堆積在建構完成時寫入主記錄檔。
標記:affects_outputs
、bazel_monitoring
--memory_profile_stable_heap_parameters=<integers, separated by a comma expected in pairs>
預設值:「1,0」-
調整建構結束時的記憶體堆積計算結果。須為整數,中間以半形逗號隔開。每個組合中的第一個整數代表要執行的 GC 數量。每個組合的第二個整數是 GC 之間等待的秒數。例如:2,4,4,0 代表 2 個 GC,暫停 4 秒,後面接著 4 個 GC,而且暫停了 0 秒。
標記:bazel_monitoring
--profile=<a path>
預設值:查看說明-
如果已設定,請剖析 Bazel,並將資料寫入指定檔案。使用 bazel analyze-profile 分析設定檔。
標記:affects_outputs
、bazel_monitoring
--[no]slim_profile
預設值:「true」-
如果設定檔過大,請合併事件來縮減 JSON 設定檔的大小。
標記:affects_outputs
、bazel_monitoring
--starlark_cpu_profile=<a string>
預設值:「」-
這個外掛程式能在指定檔案中,寫入所有 Starlark 執行緒的 CPU 用量剖析資料。
標記:bazel_monitoring
--tool_tag=<a string>
預設值:「」-
此工具名稱可用來將此 Bazel 叫用歸因於該工具。
標記:affects_outputs
、bazel_monitoring
- 累積共計
--ui_event_filters=<Convert list of comma separated event kind to list of filters>
次 -
指定要在 UI 中顯示的事件。您可以使用開頭 +/- 為預設事件新增或移除事件,直接指派功能也可以完全覆寫預設設定。支援的事件種類組合包括 INFO、DEBUG、ERROR 等。
標記:terminal_output
- 其他選項,未分類:
- 累積共計
--build_metadata=<a 'name=value' assignment>
次 -
要在建構事件中提供的自訂鍵/值組合字串組合。
標記:terminal_output
--color=<yes, no or auto>
預設值:「auto」- 使用終端機控制項將輸出內容上色。
- 累積共計
--config=<a string>
次 - 選取 rc 檔案中的其他設定區段;對於每個 <command>,它也會從 <command>:<config> 中提取選項 (如果有此區段);如果任何 .rc 檔案中沒有這個部分,Blaze 就會執行失敗並發生錯誤。兩者對應的設定區段和旗標組合位於 tools/*.blazerc 設定檔內。
- 累積共計
--credential_helper=<Path to a credential helper. It may be absolute, relative to the PATH environment variable, or %workspace%-relative. The path be optionally prefixed by a scope followed by an '='. The scope is a domain name, optionally with a single leading '*' wildcard component. A helper applies to URIs matching its scope, with more specific scopes preferred. If a helper has no scope, it applies to every URI.>
次 - 設定憑證輔助程式,以便擷取用於擷取存放區、遠端快取和執行的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 --google_default_credentials、--google_credentials、.netrc 檔案,或是 repo_ctx.download 和 repository_ctx.download_and_extract 提供的憑證。 可以指定多次輔助程式。 詳情請參閱 https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md。
--credential_helper_cache_duration=<An immutable length of time.>
預設值:「30m」- 快取由憑證輔助程式提供的憑證的時間長度。 以不同的值叫用會調整現有項目的生命週期,傳回零即可清除快取。無論這個標記為何,乾淨的指令一律會清除快取。
--credential_helper_timeout=<An immutable length of time.>
預設值:「10 秒」- 設定憑證輔助程式的逾時時間。 憑證輔助程式若未在逾時期限內回應,會導致叫用失敗。
--curses=<yes, no or auto>
預設值:「auto」- 使用終端機遊標控制項,盡量減少捲動輸出內容。
--[no]enable_platform_specific_config
預設值:「false」- 如果為 true,Bazel 會從 bazelrc 檔案擷取主機作業系統專屬設定行。舉例來說,如果主機 OS 是 Linux,且您執行的是 bazel 版本,Bazel 會擷取以 build:linux 開頭的程式碼行。支援的 OS ID 為 linux、macos、window、freebsd 和 openbsd。啟用這個標記相當於在 Linux 上使用 --config=linux,在 Windows 上使用 --config=windows 等等。
--[no]experimental_skymeld_ui
預設值:「false」-
如果兩者都同時執行,系統會顯示分析和執行階段進度。
標記:terminal_output
--[no]experimental_windows_watchfs
預設值:「false」- 如果為 true,系統會啟用 --watchfs 的實驗性 Windows 支援。如果不是,則在 Windows 中為 watchfsis 非人工管理項目。請務必一併啟用 --watchfs。
--google_auth_scopes=<comma-separated list of options>
預設值:「https://www.googleapis.com/auth/cloud-platform」- 以半形逗號分隔的 Google Cloud 驗證範圍清單。
--google_credentials=<a string>
預設值:查看說明- 指定要從中取得驗證憑證的檔案。詳情請參閱 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials
預設值:「false」- 是否要使用「Google 應用程式預設憑證」進行驗證。詳情請參閱 https://cloud.google.com/docs/authentication。預設為停用。
--grpc_keepalive_time=<An immutable length of time.>
預設值:查看說明- 設定傳出 gRPC 連線的保持運作連線偵測 (ping)。如果設定這個值,Bazel 會在連線沒有讀取作業的這段時間過後,傳送連線偵測 (ping),但只有在至少有一個待處理的 gRPC 呼叫時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。根據預設,系統會停用保持運作的連線偵測 (ping)。您必須先與服務擁有者協調,再啟用這項設定。舉例來說,如要將此旗標設為 30 秒,則應設為 --grpc_keepalive_time=30s
--grpc_keepalive_timeout=<An immutable length of time.>
預設值:「20 秒」- 設定傳出 gRPC 連線的保持運作逾時。如果保持運作中的連線偵測 (ping) 已啟用 --grpc_keepalive_time,那麼如果 Bazel 過了這段時間過後仍未收到連線偵測 (ping) 回覆,Bazel 就會逾時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
--[no]incompatible_disallow_symlink_file_to_dir
預設值:「true」-
如果設為 true,「ctx.actions.symlink」會禁止檔案符號連結至目錄。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_rule_name_parameter
預設值:「true」-
如果設為 True,就無法使用「name」參數呼叫「rule」。
標記:loading_and_analysis
、incompatible_change
--[no]progress_in_terminal_title
預設值:「false」- 在終端機標題中顯示指令進度。有助於瞭解有多個終端機分頁時 Bazel 正在執行的情況。
--[no]show_progress
預設值:「true」- 在建構期間顯示進度訊息。
--show_progress_rate_limit=<a double>
預設值:「0.2」- 輸出內容中,進度訊息之間的最小秒數。
--[no]show_timestamps
預設值:「false」- 在訊息中加入時間戳記
--tls_certificate=<a string>
預設值:查看說明- 指定受信任的 TLS 憑證路徑,該憑證可簽署伺服器憑證。
--tls_client_certificate=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端憑證;您也需要提供用戶端金鑰來啟用用戶端驗證功能。
--tls_client_key=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端金鑰,也需要提供用戶端憑證來啟用用戶端驗證功能。
--ui_actions_shown=<an integer>
預設值:「8」-
詳細進度列中顯示的並行動作數量,每項動作都會顯示在個別行中。進度列一律會顯示至少一個,所有小於 1 的數字都會對應到 1。
標記:terminal_output
--[no]watchfs
預設值:「false」- 在 Linux/macOS 上:如果設為 true,bazel 會試著使用作業系統的檔案手錶服務進行本機變更,而不是掃描每個檔案是否有變更。在 Windows 上:這個標記目前為非作業性質,但可與 --experimental_windows_watchfs 啟用。任何 OS:如果工作區位於網路檔案系統中,且檔案是在遠端電腦上編輯,則行為不會定義。
分析設定檔選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--dump=<text or raw>
[-d
] 預設值:查看說明-
以使用者可理解的「文字」格式或適合指令碼的「原始」格式輸出完整設定檔資料傾印。
標記:affects_outputs
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
查詢選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- 查詢輸出和語意相關選項:
--aspect_deps=<off, conservative or precise>
預設值:「保守」-
當輸出格式是 {xml,proto,record} 時,如何解析長寬比的依附元件。「off」表示未解析任何顯示依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,均已新增所有宣告的依附元件。「精確」表示只有在直接依附元件的規則類別下,才會新增這些可能處於有效狀態的元件。請注意,您需要載入其他套件來評估單一目標,因此速度比其他模式慢。另請注意,即使是精確模式,也不一定完全準確:系統會在分析階段決定要計算某個面向,而這不會在「bazel 查詢」期間執行。
標記:build_file_semantics
--[no]consistent_labels
預設值:「false」-
如果啟用,每個查詢指令都會像套用 <code>Label</code> 標籤的 Starlark <code>str</code> 函式一樣發出標籤。這對於需要比對不同查詢指令輸出內容和/或規則產生的標籤的工具而言非常實用。如未啟用,輸出格式器就不會產生明顯的存放區名稱 (相對於主要存放區),改為讓輸出內容更容易閱讀。
標記:terminal_output
--[no]deduplicate_depsets
預設值:「true」-
在最終的 proto/textproto/json 輸出中,刪除 dep_set_of_files 的不重複非分葉子項。這不會簡化不會共用直接父項的重複資料刪除作業。這不會影響動作的最終有效輸入構件清單。
標記:terminal_output
--[no]graph:factored
預設值:「true」-
如果為 True,圖表就會以「係數」形式進行,意即邏輯對等節點會合併,並串連這些節點。這個選項僅適用於 --output=graph。
標記:terminal_output
--graph:node_limit=<an integer>
預設值:「512」-
輸出內容中圖表節點的標籤字串長度上限,較長的標籤將遭到截斷;-1 表示不會遭到截斷。這個選項僅適用於 --output=graph。
標記:terminal_output
--[no]implicit_deps
預設值:「true」-
如果啟用,隱含依附元件將包含在查詢作業的依附元件圖表中。隱含依附元件是指 BUILD 檔案中未明確指定,但是由 bazel 新增的依附元件。針對 cquery,這個選項可控制已解析的工具鍊。
標記:build_file_semantics
--[no]include_artifacts
預設值:「true」-
在輸出中加入動作輸入和輸出的名稱 (可能非常大)。
標記:terminal_output
--[no]include_aspects
預設值:「true」- 查詢, cquery: 是否在輸出中納入由面向產生的動作。 query:no-op (一律會遵循指定順序)。
標記:terminal_output
--[no]include_commandline
預設值:「true」-
在輸出內容中加入動作指令列的內容 (可能非常大)。
標記:terminal_output
--[no]include_file_write_contents
預設值:「false」-
加入 FileWrite 和 SourceSymlinkManifest 動作的檔案內容 (可能較大)。
標記:terminal_output
--[no]include_param_files
預設值:「false」-
包含指令中使用的參數檔案內容 (可能非常大)。注意:啟用此旗標後,系統會自動啟用 --include_commandline 標記。
標記:terminal_output
--[no]incompatible_display_source_file_location
預設值:「true」-
預設為 True,會顯示來源檔案的目標。如為 true,則在位置輸出中,顯示來源檔案第 1 行的位置。這個旗標只會用於遷移。
標記:terminal_output
、incompatible_change
--[no]incompatible_package_group_includes_double_slash
預設值:「true」-
如果啟用此功能,輸出 package_group 的 `packages` 屬性時,系統不會省略開頭的 `//`。
標記:terminal_output
、incompatible_change
--[no]infer_universe_scope
預設值:「false」-
如果未設定且未設定 --universe_scope,系統就會推斷查詢運算式中 --universe_scope 的值,做為不重複目標模式清單。請注意,針對使用宇宙範圍函式 (例如「allrdeps」) 的查詢運算式所推測的 --universe_scope 值,不一定符合需求,因此,建議只在知道相關做法的情況下才使用這個選項。如需詳細資訊和範例,請前往 https://bazel.build/reference/query#sky-query。如果設定了 --universe_scope,系統就會忽略此選項的值。注意:這個選項僅適用於「query」(而不是「cquery」)。
標記:loading_and_analysis
--[no]line_terminator_null
預設值:「false」-
表示各種格式會以 \0 結尾 (而非換行符號)。
標記:terminal_output
--[no]nodep_deps
預設值:「true」-
如果啟用,「nodep」屬性的部分就會包含在查詢作業的依附元件圖表中。「nodep」屬性的常見例子為「visibility」。執行並剖析「info build-language」的輸出內容,瞭解建構語言中的所有「nodep」屬性。
標記:build_file_semantics
--output=<a string>
預設值:「text」-
查詢結果的列印格式。查詢允許的值包括:text、textproto、proto、jsonproto。
標記:terminal_output
--[no]proto:default_values
預設值:「true」-
如果設為 true,系統將納入 BUILD 檔案中未明確指定值的屬性,否則會省略。這個選項適用於 --output=proto
標記:terminal_output
--[no]proto:definition_stack
預設值:「false」-
填入 definition_stack proto 欄位,系統會在定義規則類別時,記錄每個規則例項的 Starlark 呼叫堆疊。
標記:terminal_output
--[no]proto:flatten_selects
預設值:「true」-
啟用後,由 select() 建立的可設定屬性會經過分割。以清單類型來說,整併表示法是一份清單,其中包含所選地圖的每個值。純量類型會整併為空值。
標記:build_file_semantics
--[no]proto:include_synthetic_attribute_hash
預設值:「false」-
是否要計算並填入 $internal_attr_hash 屬性。
標記:terminal_output
--[no]proto:instantiation_stack
預設值:「false」-
填入每個規則的例項化呼叫堆疊。請注意,堆疊必須具有
標記:terminal_output
--[no]proto:locations
預設值:「true」-
指定是否要在 proto 輸出中輸出位置資訊。
標記:terminal_output
--proto:output_rule_attrs=<comma-separated list of options>
預設值:「全部」-
要納入輸出的屬性清單 (以半形逗號分隔)。預設值為所有屬性。設為空白字串,不輸出任何屬性。這個選項適用於 --output=proto。
標記:terminal_output
--[no]proto:rule_inputs_and_outputs
預設值:「true」-
是否要填入 Rules_input 和 Rules_output 欄位。
標記:terminal_output
--query_file=<a string>
預設值:「」-
如果已設定,查詢就會從這裡命名的檔案讀取查詢,而不是透過指令列讀取查詢。在這裡指定檔案和指令列查詢會發生錯誤。
標記:changes_inputs
--[no]relative_locations
預設值:「false」-
如果為 true,XML 和 proto 輸出中的 BUILD 檔案位置是相對位置。根據預設,位置輸出內容為絕對路徑,且在不同電腦上不會一致。只要將這個選項設為 true,就能讓不同機器的結果保持一致。
標記:terminal_output
--[no]skyframe_state
預設值:「false」-
如果不執行額外分析,請從 SkyFrame 傾印目前的動作圖。注意:目前不支援使用 --skyframe_state 指定目標。這個標記僅適用於 --output=proto 或 --output=textproto。
標記:terminal_output
--[no]tool_deps
預設值:「true」-
查詢:如果停用,「主機設定」或「執行」目標的依附元件就不會納入查詢作業的依附元件圖表。「主機設定」依附元件邊緣 (例如從任何「proto_library」規則到通訊協定編譯器的邊緣),通常會指向在建構期間執行的工具,而不是同一個「target」程式的一部分。Cquery:如果停用這項設定,系統會篩除從找到這個設定目標的頂層目標,篩選出跨主機或執行轉換的所有已設定目標。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於主機設定,系統只會傳回主機設定的目標。這個選項「不會」排除已解析的工具鍊。
標記:build_file_semantics
--universe_scope=<comma-separated list of options>
預設值:「」-
以半形逗號分隔的目標模式組合 (相加和減法)。這項查詢可以由指定目標的轉換封閉定義,在宇宙中執行。這個選項用於查詢和 cquery 指令。針對 cquery,這個選項的輸入內容是以所有答案為基礎建構,因此這個選項可能會影響設定和轉換作業。如果未指定此選項,系統會假設頂層目標為從查詢運算式剖析的目標。注意:針對 cquery,如果不指定此選項,則無法使用頂層選項建構從查詢運算式剖析的目標時,可能會導致建構中斷。
標記:loading_and_analysis
- 與 Bzlmod 輸出和語意相關的選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。假設指定路徑開頭為「%workspace%」,它是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
- 控制建構作業執行作業的選項:
--[no]experimental_inprocess_symlink_creation
預設值:「false」-
是否可以直接呼叫檔案系統來建立符號連結樹狀結構
標記:loading_and_analysis
、execution
、experimental
--[no]experimental_remotable_source_manifests
預設值:「false」-
是否使來源資訊清單動作可循環變
標記:loading_and_analysis
、execution
、experimental
--[no]experimental_split_coverage_postprocessing
預設值:「false」-
如果為 true,Bazel 會在新產生時執行涵蓋率後置處理,以便進行測試。
標記:execution
--[no]experimental_strict_fileset_output
預設值:「false」-
如果啟用這個選項,檔案集會將所有輸出構件視為一般檔案。不會掃遍目錄,也不會對符號連結產生敏感內容。
標記:execution
--modify_execution_info=<regex=[+-]key,regex=[+-]key,...>
預設值:「」-
根據動作記憶機制,在動作的執行資訊中新增或移除鍵。僅適用於支援執行資訊的動作。許多常見動作都支援執行資訊,例如 Genrule、CppCompile、Javac、StarlarkAction、TestRunner。指定多個值時,順序很重要,因為許多規則運算式可能會套用到同一項記憶。
語法:"regex=[+-]key,regex=[+-]key,..."。
範例:
「.*=+x,.*=-y,.*=+z」會將「x」和「z」加入,並將「y」從所有動作的執行資訊中移除。
「Genrule=+requires-x」會在所有 Genrule 動作的執行資訊中加入「requires-x」。「(?!Genrule).*=-requires-x」會從所有非規則化動作的執行資訊中移除「requires-x」。
標記:execution
、affects_outputs
、loading_and_analysis
--persistent_android_dex_desugar
-
使用 worker 啟用永久 Android dex 和 desugar 操作。
展開為:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker
--strategy=DexBuilder=worker
標記:host_machine_resource_optimizations
、execution
--persistent_android_resource_processor
-
使用工作站啟用永久 Android 資源處理器。
展開為:
--internal_persistent_busybox_tools
--strategy=AaptPackage=worker
--strategy=AndroidResourceParser=worker
--strategy=AndroidResourceValidator=worker
--strategy=AndroidResourceCompiler=worker
--strategy=RClassGenerator=worker
--strategy=AndroidResourceLink=worker
--strategy=AndroidAapt2=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=AndroidAssetMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=AARGenerator=worker
host_machine_resource_optimizations
execution
--persistent_multiplex_android_dex_desugar
-
使用 worker 啟用永久的多工處理 Android dex 和解糖操作。
展開為:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar
標記:host_machine_resource_optimizations
、execution
--persistent_multiplex_android_resource_processor
-
使用工作站啟用永久的多工架構 Android 資源處理器。
展開為:
--persistent_android_resource_processor
--modify_execution_info=AaptPackage=+supports-multiplex-workers
--modify_execution_info=AndroidResourceParser=+supports-multiplex-workers
--modify_execution_info=AndroidResourceValidator=+supports-multiplex-workers
--modify_execution_info=AndroidResourceCompiler=+supports-multiplex-workers
--modify_execution_info=RClassGenerator=+supports-multiplex-workers
--modify_execution_info=AndroidResourceLink=+supports-multiplex-workers
--modify_execution_info=AndroidAapt2=+supports-multiplex-workers
--modify_execution_info=AndroidResourceMerger=+supports-multiplex-workers
--modify_execution_info=AndroidCompiledResourceMerger=+supports-multiplex-workers
--modify_execution_info=ManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AndroidAssetMerger=+supports-multiplex-workers
--modify_execution_info=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers
host_machine_resource_optimizations
execution
--persistent_multiplex_android_tools
- 啟用永久和多 X 技術的 Android 工具 (DEX 功能、脫糖、資源處理)。
展開為:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor
--persistent_multiplex_android_dex_desugar
標記:host_machine_resource_optimizations
、execution
- 設定用於執行動作的工具鍊:
--android_compiler=<a string>
預設值:查看說明-
Android 目標編譯器。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--android_crosstool_top=<a build target label>
預設值:"//external:android/crosstool"-
用於 Android 版本的 C++ 編譯器的位置。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_grte_top=<a label>
預設值:查看說明-
Android 目標 grte_top。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_manifest_merger=<legacy, android or force_android>
預設值:「android」-
選取用於 android_binary 規則的資訊清單合併工具。此標記可協助從舊版合併工具轉換至 Android 資訊清單合併工具。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--android_platforms=<a build target label>
預設值:「」-
設定 android_binary 目標使用的平台。如果指定了多個平台,二進位檔就是笨重的 APK,其中包含每個指定目標平台的原生二進位檔。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_sdk=<a build target label>
預設值:"@bazel_tools//tools/android:sdk"-
指定用於建構 Android 應用程式的 Android SDK/平台。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--apple_compiler=<a string>
預設值:查看說明-
Apple 目標編譯器。適合選取工具鍊的變化版本 (例如 xcode-beta)。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--apple_crosstool_top=<a build target label>
預設值:"@bazel_tools//tools/cpp:toolchain"-
要在 Apple 和 Objc 規則及其依附元件中使用的 Crosstool 套件標籤。
標記:loses_incremental_state
、changes_inputs
--apple_grte_top=<a build target label>
預設值:查看說明-
Apple 目標 grte_top。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--cc_output_directory_tag=<a string>
預設值:「」- 指定要新增至設定目錄的後置字串。
標記:affects_outputs
、explicit_in_output_path
--compiler=<a string>
預設值:查看說明- 用於編譯目標的 C++ 編譯器。
標記:loading_and_analysis
、execution
--coverage_output_generator=<a build target label>
預設值:"@bazel_tools//tools/test:lcov_merger"-
用於後處理原始涵蓋率報表的二進位檔位置。這目前必須是包含單一檔案 (也就是二進位檔案) 的檔案群組。預設值為「//tools/test:lcov_merger」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--coverage_report_generator=<a build target label>
預設值:"@bazel_tools//tools/test:coverage_report_generator"-
用於產生涵蓋率報表的二進位檔位置。這目前必須是包含單一檔案 (也就是二進位檔案) 的檔案群組。預設值為「//tools/test:coverage_report_generator」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--coverage_support=<a build target label>
預設值:"@bazel_tools//tools/test:coverage_support"-
針對收集程式碼涵蓋率的每項測試動作輸入內容,所需的支援檔案位置。預設值為「//tools/test:coverage_support」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--crosstool_top=<a build target label>
預設值:"@bazel_tools//tools/cpp:toolchain"-
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記:loading_and_analysis
、changes_inputs
、affects_outputs
--custom_malloc=<a build target label>
預設值:查看說明-
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記:changes_inputs
、affects_outputs
- 累積共計
--experimental_add_exec_constraints_to_targets=<a '<RegexFilter>=<label1>[,<label2>,...]' assignment>
次 -
以半形逗號分隔的規則運算式清單,每個運算式可視需要加上 - (排除運算式),指派 (=) 至清單,並以半形逗號分隔限制條件值目標。如果目標未比對到任何負數運算式,且至少有一個正運算式的解析作業,系統就會以其工具鍊解析為執行的條件,將限制值宣告為執行限制。例如://demo,-test=@platforms//cpus:x86_64 會將「x86_64」新增到 //demo 底下的任何目標中,但名稱含有「test」的字詞除外。
標記:loading_and_analysis
--[no]experimental_enable_objc_cc_deps
預設值:「true」-
允許 objc_* 規則依附 cc_library,並使用 --cpu 將 --ios_multi_cpu 中的值設為「ios_<--ios_cpu>」。
標記:loading_and_analysis
、incompatible_change
--[no]experimental_include_xcode_execution_requirements
預設值:「false」-
如果已設定,請為每個 Xcode 動作新增「requires-xcode:{version}」執行要求。如果 xcode 版本具有連字號標籤,請同時加入「requires-xcode-label:{version_label}」執行要求。
標記:loses_incremental_state
、loading_and_analysis
、execution
--[no]experimental_prefer_mutual_xcode
預設值:「true」-
如果為 true,請使用本機和遠端提供的最新 Xcode。如為 false,或是沒有共同可用的版本,請使用透過 xcode-select 選取的本機 Xcode 版本。
標記:loses_incremental_state
- 累積共計
--extra_execution_platforms=<comma-separated list of options>
次 -
可做為執行動作的執行平台。您可以採用確切目標或目標模式來指定平台。系統會先將這些平台視為 register_execution_platforms(),在 WORKSPACE 檔案內宣告的平台。
標記:execution
- 累積共計
--extra_toolchains=<comma-separated list of options>
次 -
在工具鍊解析期間要考慮的工具鍊規則。工具鍊可以用確切目標或目標模式指定。系統會先考慮這些工具鍊,才會透過 register_toolchains() 在 WORKSPACE 檔案中宣告的工具鍊。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--grte_top=<a label>
預設值:查看說明-
已簽入的 libc 程式庫的標籤。跨工具鍊會選取預設值,您幾乎不需要覆寫這個值。
標記:action_command_lines
、affects_outputs
--host_compiler=<a string>
預設值:查看說明-
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,則系統會忽略這個欄位。
標記:loading_and_analysis
、execution
--host_crosstool_top=<a build target label>
預設值:查看說明-
根據預設,--crosstool_top 和 --compiler 選項也可用於主機設定。如果提供此標記,Bazel 會針對指定的 crosstool_top 使用預設的 libc 和編譯器。
標記:loading_and_analysis
、changes_inputs
、affects_outputs
--host_grte_top=<a label>
預設值:查看說明-
如有指定,這項設定會覆寫主機設定的 libc 頂層目錄 (--grte_top)。
標記:action_command_lines
、affects_outputs
--host_platform=<a build target label>
預設值:「」-
說明主機系統的平台規則標籤。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--[no]incompatible_disable_expand_if_all_available_in_flag_set
預設值:「true」-
如果為 true,Bazel 就不會允許在 flag_sets 中指定 expand_if_all_available(如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7008)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_dont_enable_host_nonhost_crosstool_features
預設值:「true」-
如果為 true,Bazel 不會在 c++ 工具鍊中啟用「host」和「非主機」功能 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7407)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enable_android_toolchain_resolution
預設值:「false」-
使用工具鍊解析度選取 Android 規則適用的 Android SDK (Starlark 和原生)
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enable_apple_toolchain_resolution
預設值:「false」-
使用工具鍊解析功能選取 Apple SDK 做為 Apple 規則 (Starlark 和原生)
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_make_thinlto_command_lines_standalone
預設值:「true」-
如果為 true,Bazel 不會針對 lto 索引指令列重複使用 C++ 連結動作指令列 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/6791)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain
預設值:「true」-
如果設為 true,Bazel 會在設定 cc_toolchain.cpu 和 cc_toolchain.compiler 屬性時進行申訴 (如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7075)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_legacy_whole_archive
預設值:「true」-
如果設為 true,Bazel 預設不會將程式庫依附元件連結至整個封存檔 (如需遷移操作說明,請前往 https://github.com/bazelbuild/bazel/issues/7362)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_require_ctx_in_configure_features
預設值:「true」-
如果為 true,Bazel 會在 cc_common.configure_features 中要求「ctx」參數 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7793)。
標記:loading_and_analysis
、incompatible_change
-
如果工具鍊支援的話,請使用介面共用物件。所有 ELF 工具鍊目前都支援這項設定。
標記:loading_and_analysis
、affects_outputs
、affects_outputs
--ios_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 iOS 應用程式的 iOS SDK 版本。如未指定,則會使用「xcode_version」的預設 iOS SDK 版本。
標記:loses_incremental_state
--macos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 macOS 應用程式的 macOS SDK 版本。如未指定,則會使用「xcode_version」的預設 macOS SDK 版本。
標記:loses_incremental_state
--minimum_os_version=<a string>
預設值:查看說明-
編譯目標的最低 OS 版本。
標記:loading_and_analysis
、affects_outputs
--platform_mappings=<a relative path>
預設值:「」-
對應檔案位置,說明在未設定任何平台時要使用的平台,或是平台已存在時該設定哪些標記。必須與主要工作區根目錄相對。預設值為「platform_mappings」(位於工作區根目錄下的檔案)。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--platforms=<a build target label>
預設值:「」-
平台規則的標籤,說明目前指令的目標平台。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--python2_path=<a string>
預設值:查看說明-
已淘汰,免人工管理。已由「--incompatible_use_Python_toolchains」停用。
標記:no_op
、deprecated
--python3_path=<a string>
預設值:查看說明-
已淘汰,免人工管理。已由「--incompatible_use_Python_toolchains」停用。
標記:no_op
、deprecated
--python_path=<a string>
預設值:查看說明-
為在目標平台上執行 Python 目標而叫用的 Python 解譯器絕對路徑。已淘汰;已透過 --incompatible_use_python_toolchains 停用。
標記:loading_and_analysis
、affects_outputs
--python_top=<a build target label>
預設值:查看說明-
代表 Python 解譯器叫用的 py_runtime 標籤,以便在目標平台上執行 Python 目標。已淘汰;已透過 --incompatible_use_python_toolchains 停用。
標記:loading_and_analysis
、affects_outputs
--target_platform_fallback=<a build target label>
預設:"@local_config_platform//:host"-
如未設定目標平台,且沒有任何平台對應項目與目前的標記組合相符,則應使用的平台規則標籤。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--tvos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 tvOS 應用程式的 tvOS SDK 版本。如未指定,則會使用「xcode_version」的預設 tvOS SDK 版本。
標記:loses_incremental_state
--watchos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 watchOS 應用程式的 watchOS SDK 版本。如未指定,則會使用「xcode_version」的預設 watchOS SDK 版本。
標記:loses_incremental_state
--xcode_version=<a string>
預設值:查看說明-
如有指定,則會使用指定版本的 Xcode 執行相關建構動作。如未指定,則會使用 Xcode 的執行者預設版本。
標記:loses_incremental_state
--xcode_version_config=<a build target label>
預設值:"@bazel_tools//tools/cpp:host_xcodes"-
在建構設定中選取 Xcode 版本的 xcode_config 規則標籤。
標記:loses_incremental_state
、loading_and_analysis
- 控制指令輸出內容的選項:
--[no]apple_enable_auto_dsym_dbg
預設值:「false」-
指定是否要強制啟用 dbg 建構作業的偵錯符號 (.dSYM) 檔案。
標記:affects_outputs
、action_command_lines
--[no]apple_generate_dsym
預設值:「false」-
指定是否要產生偵錯符號檔案 (.dSYM)。
標記:affects_outputs
、action_command_lines
--[no]build_runfile_links
預設值:「true」-
如果為 true,請為所有目標建構執行檔案符號連結樹系。如果為 false,請盡可能僅寫入資訊清單。
標記:affects_outputs
--[no]build_runfile_manifests
預設值:「true」-
如果為 true,則會為所有目標寫入執行檔案資訊清單。如果設為 false,請略過這些字串。如果為 false,本機測試將無法執行。
標記:affects_outputs
--[no]build_test_dwp
預設值:「false」-
如果啟用,當以靜態方式建構 C++ 測試及進行斷言時,系統也會自動建構測試二進位檔的 .dwp 檔案。
標記:loading_and_analysis
、affects_outputs
--cc_proto_library_header_suffixes=<comma-separated list of options>
預設值:「.pb.h」-
可設定 cc_proto_library 建立的標題檔案的前置字串。
標記:affects_outputs
、loading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated list of options>
預設值:「.pb.cc」-
設定 cc_proto_library 建立的來源檔案前置字串。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_proto_descriptor_sets_include_source_info
預設值:「false」-
在 proto_library 中針對替代 Java API 版本執行額外操作。
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_proto_extra_actions
預設值:「false」-
在 proto_library 中針對替代 Java API 版本執行額外操作。
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_save_feature_state
預設值:「false」-
將已啟用和要求功能的狀態儲存為編譯的輸出內容。
標記:affects_outputs
、experimental
--fission=<a set of compilation modes>
預設值:「否」-
指定哪些編譯模式會使用 C++ 編譯和連結的 Fision。可以使用 {'fastbuild'、'dbg'、'opt'} 的任意組合或特殊值「yes」來啟用所有模式,而「no」則可停用所有模式。
標記:loading_and_analysis
、action_command_lines
、affects_outputs
--[no]incompatible_always_include_files_in_data
預設值:「true」-
如果設為 True,原生規則會在 runfile 中新增資料依附元件 <code>DefaultInfo.files</code>,以符合 Starlark 規則的建議行為 (https://bazel.build/extending/rules#runfiles_features_to_avoid)。
標記:affects_outputs
、incompatible_change
--[no]legacy_external_runfiles
預設值:「true」-
如果為 true,則除了 .runfiles/repo 之外,也為外部存放區建構 .runfiles/wsname/external/repo 下的外部存放區的 runfiles 符號連結樹系。
標記:affects_outputs
--[no]objc_generate_linkmap
預設值:「false」-
指定是否要產生連結對應檔案。
標記:affects_outputs
--[no]save_temps
預設值:「false」-
設定後,系統會儲存 gcc 的臨時輸出內容。包括 .s 檔案 (組合程式碼)、.i 檔案 (預先處理的 C) 和 .ii 檔案 (預先處理的 C++)。
標記:affects_outputs
- 這些選項可讓使用者設定預期的輸出內容,而不是影響其值:
- 累積共計
--action_env=<a 'name=value' assignment with an optional value part>
次 -
指定動作設定可用的環境變數組合。您可以透過名稱指定變數,在這種情況下,系統會擷取叫用環境的值,也可以由 name=value 組合指定變數的值,而不受叫用環境影響。此選項可以多次使用;對於同一個變數的指定選項,系統會將最近期的勝出結果以及各種變數的累積選項累積。
標記:action_command_lines
--android_cpu=<a string>
預設值:「armeabi-v7a」-
Android 目標 CPU。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]android_databinding_use_androidx
預設值:「false」-
產生與 AndroidX 相容的資料繫結檔案。這僅適用於資料繫結第 2 版。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]android_databinding_use_v3_4_args
預設值:「false」-
將 Android 資料繫結 v2 與 3.4.0 引數搭配使用
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--android_dynamic_mode=<off, default or fully>
預設值:「關閉」-
判斷當 cc_binary 未明確建立共用程式庫時,Android 規則的 C++ 依附元件是否會動態連結。「default」表示 bazel 會選擇是否要動態連結。「ly」表示所有程式庫會以動態方式連結。「off」表示在大部分靜態模式中,所有程式庫都會建立連結。
標記:affects_outputs
、loading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency>
預設值:「alphabetical」-
設定傳送至 Android 二進位檔資訊清單合併工具的資訊清單順序。ALPHABETICAL 表示資訊清單會依照相對於執行根的路徑排序。ALPHABETICAL_BY_CONFIGURATION 表示資訊清單是按照輸出目錄內設定目錄的路徑排序。DEPENDENCY 表示系統會依照每個程式庫的資訊清單,排在依附元件的資訊清單之前。
標記:action_command_lines
、execution
--[no]android_resource_shrinking
預設值:「false」-
使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記:affects_outputs
、loading_and_analysis
- 累積共計
--apple_bitcode=<'mode' or 'platform=mode', where 'mode' is none, embedded_markers or embedded, and 'platform' is ios, visionos, watchos, tvos, macos or catalyst>
次 -
針對指定裝置架構的編譯步驟指定 Apple 位元碼模式。值的格式為「[platform=]mode」,其中平台 (必須為「ios」、「macos」、「tvos」或「watchos」) 為選填。如有提供,位元碼模式僅適用於該平台;省略時,則會套用至所有平台。模式必須為「none」、「embedded_markers」或「embedded」。這個選項可多次提供。
標記:loses_incremental_state
--[no]build_python_zip
預設值:「auto」-
建構 Python 可執行 ZIP 檔;在 Windows 或其他平台上,關閉其他平台
標記:affects_outputs
- 累積共計
--catalyst_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple Catalyst 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--[no]collect_code_coverage
預設值:「false」-
如有指定,Bazel 會檢測程式碼 (盡可能使用離線檢測功能),並在測試期間收集涵蓋範圍資訊。只有符合 --instrumentation_filter 的目標會受到影響。通常您不應直接指定這個選項,應改用「bazelCoverage」指令。
標記:affects_outputs
--compilation_mode=<fastbuild, dbg or opt>
[-c
] 預設值:「Fastbuild」-
指定要建構二進位檔的模式。值:「fastbuild」、「dbg」、「opt」。
標記:affects_outputs
、action_command_lines
、explicit_in_output_path
- 累積共計
--conlyopt=<a string>
次 -
編譯 C 來源檔案時傳送至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--copt=<a string>
次 -
傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
--cpu=<a string>
預設值:「」-
目標 CPU。
標記:changes_inputs
、affects_outputs
、explicit_in_output_path
--cs_fdo_absolute_path=<a string>
預設值:查看說明-
使用 CSFDO 設定檔資訊最佳化編譯。指定內含設定檔、原始或已建立索引 LLVM 設定檔的 ZIP 檔案絕對路徑名稱。
標記:affects_outputs
--cs_fdo_instrument=<a string>
預設值:查看說明-
產生具有情境敏感 FDO 檢測的二進位檔。使用 Clang/LLVM 編譯器時,也接受要在執行階段傾印原始設定檔的目錄名稱。
標記:affects_outputs
--cs_fdo_profile=<a build target label>
預設值:查看說明-
代表要用於最佳化的情境敏感設定檔的 cs_fdo_profile。
標記:affects_outputs
- 累積共計
--cxxopt=<a string>
次 -
編譯 C++ 來源檔案時,將其他選項傳送至 gcc。
標記:action_command_lines
、affects_outputs
- 累積共計
--define=<a 'name=value' assignment>
次 -
每個 --define 選項會指定建構變數的指派方式。
標記:changes_inputs
、affects_outputs
--dynamic_mode=<off, default or fully>
預設值:「預設」-
判斷是否以動態連結 C++ 二進位檔。「default」代表 Bazel 選擇要以動態方式連結。「ly」表示所有程式庫會以動態方式連結。「off」表示在大部分靜態模式中,所有程式庫都會建立連結。
標記:loading_and_analysis
、affects_outputs
--[no]enable_fdo_profile_absolute_path
預設值:「true」-
如果已設定,使用 fdo_abs_profile_path 時會產生錯誤。
標記:affects_outputs
--[no]enable_runfiles
預設值:「auto」-
啟用執行檔案符號連結樹狀結構;根據預設,這項功能在 Windows 和其他平台上會關閉。
標記:affects_outputs
- 累積共計
--experimental_action_listener=<a build target label>
次 -
以切面方式已淘汰。使用 action_listener 將 extra_action 附加至現有的建構動作。
標記:execution
、experimental
--[no]experimental_android_compress_java_resources
預設值:「false」-
在 APK 中壓縮 Java 資源
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_android_databinding_v2
預設值:「false」-
使用 Android 資料繫結 v2
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_android_resource_shrinking
預設值:「false」-
使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_android_rewrite_dexes_with_rex
預設值:「false」-
使用 Rex 工具重新編寫 dex 檔案
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_collect_code_coverage_for_generated_files
預設值:「false」-
如有指定,Bazel 也會針對產生的檔案產生涵蓋範圍資訊。
標記:affects_outputs
--experimental_objc_fastbuild_options=<comma-separated list of options>
預設值:「-O0,-DDEBUG=1」-
使用這些字串做為 objc Fastbuild 編譯器選項。
標記:action_command_lines
--[no]experimental_omitfp
預設值:「false」-
如果為 true,請使用 libunwind 來展開堆疊展開,並以 -fomit-frame-pointer 和 -fasync-unwind-tables 進行編譯。
標記:action_command_lines
、affects_outputs
、experimental
--[no]experimental_platform_in_output_dir
預設值:「false」-
如果為 true,輸出目錄名稱 (而不是 CPU) 會使用目標平台。
標記:affects_outputs
、experimental
--[no]experimental_use_llvm_covmap
預設值:「false」-
如果指定此選項,當啟用 collect_code_coverage 時,Bazel 會產生 llvm-cov 涵蓋率地圖資訊,而非 gcov。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
、experimental
--fat_apk_cpu=<comma-separated list of options>
預設值:「armeabi-v7a」-
設定此選項會啟用 Fat APK,其中包含所有指定架構的原生二進位檔,例如--fat_apk_cpu=x86,armeabi-v7a. 如果指定此旗標,則 android_binary 規則的依附元件會忽略 --android_cpu。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]fat_apk_hwasan
預設值:「false」-
是否要建立 HWASAN 分割。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--fdo_instrument=<a string>
預設值:查看說明-
使用 FDO 檢測功能產生二進位檔。使用 Clang/LLVM 編譯器時,也接受要在執行階段傾印原始設定檔的目錄名稱。
標記:affects_outputs
--fdo_optimize=<a string>
預設值:查看說明-
使用 FDO 設定檔資訊最佳化編譯。指定內含 .gcda 檔案樹狀結構的 ZIP 檔案、內含自動設定檔的 afdo 檔案,或是 LLVM 設定檔的 ZIP 檔案的名稱。這個標記也接受指定為標籤的檔案 (例如 `//foo/bar:file.afdo`),您可能需要在對應的套件中新增「exports_files」指令,以及指向「fdo_profile」目標的標籤。這個旗標將由「fdo_profile」規則取代。
標記:affects_outputs
--fdo_prefetch_hints=<a build target label>
預設值:查看說明-
使用快取預先擷取提示。
標記:affects_outputs
--fdo_profile=<a build target label>
預設值:查看說明-
fdo_profile 代表要用於最佳化的設定檔。
標記:affects_outputs
- 累積共計
--features=<a string>
次 -
針對在目標設定中建構的目標,指定功能會預設為啟用或停用。指定 -<feature> 會停用功能。負特徵一律會覆寫正面特徵。另請參閱 --host_features
標記:changes_inputs
、affects_outputs
--[no]force_pic
預設值:「false」-
如果啟用,所有 C++ 編譯都會產生與位置無關的程式碼 (「-fPIC」),連結會優先使用 PIC 預先建構的程式庫,而非非 PIC 程式庫,而且連結會產生位置獨立的執行檔 (「-pie」)。
標記:loading_and_analysis
、affects_outputs
- 累積共計
--host_action_env=<a 'name=value' assignment with an optional value part>
次 -
指定具有主機或執行設定動作的可用環境變數組合。您可以透過名稱指定變數,在這種情況下,系統會擷取叫用環境的值,也可以由 name=value 組合指定變數的值,而不受叫用環境影響。此選項可以多次使用;對於同一個變數的指定選項,系統會將最近期的勝出結果以及各種變數的累積選項累積。
標記:action_command_lines
--host_compilation_mode=<fastbuild, dbg or opt>
預設值:「opt」-
指定在建構作業期間使用的工具模式。值:「fastbuild」、「dbg」、「opt」。
標記:affects_outputs
、action_command_lines
- 累積共計
--host_conlyopt=<a string>
次 -
針對主機工具編譯 C 來源檔案時,可以向 gcc 傳遞其他訊息的選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_copt=<a string>
次 -
針對主機工具傳遞至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
--host_cpu=<a string>
預設值:「」- 主機 CPU。
標記:changes_inputs
、affects_outputs
- 累積共計
--host_cxxopt=<a string>
次 -
針對主機工具傳遞至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_features=<a string>
次 -
執行設定中建構的目標預設會啟用或停用指定功能。指定 -<feature> 會停用功能。負特徵一律會覆寫正值特徵。
標記:changes_inputs
、affects_outputs
--host_force_python=<PY2 or PY3>
預設值:查看說明-
覆寫主機設定的 Python 版本。可以是「PY2」或「PY3」。
標記:loading_and_analysis
、affects_outputs
- 累積共計
--host_linkopt=<a string>
次 -
連結主機工具時,可傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
--host_macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
主機目標的最低相容 macOS 版本。如未指定,則會使用「macos_sdk_version」。
標記:loses_incremental_state
- 累積共計
--host_per_file_copt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
在主機或執行設定中編譯特定檔案時,可以選擇將資料選擇性傳遞至 C/C++ 編譯器的選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--host_per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 在 //foo/ 中所有 cc 檔案的 gcc 指令列中 (bar.cc 除外) 新增 -O0 指令列選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_swiftcopt=<a string>
次 -
針對主機工具,將其他選項傳送至 swiftc。
標記:action_command_lines
、affects_outputs
--[no]incompatible_avoid_conflict_dlls
預設值:「true」-
啟用後,在 Windows 中由 cc_library 產生的所有 C++ 動態連結程式庫 (DLL) 都會重新命名為 name_{hash}.dll,其中雜湊值是根據 RepositoryName 和 DLL 的套件路徑計算。當您有一個依附於多個 cc_library 且名稱相同的套件 (例如 //foo/bar1:utils 和 //foo/bar2:utils) 時,這個選項就非常實用。
標記:loading_and_analysis
、affects_outputs
、incompatible_change
--[no]incompatible_merge_genfiles_directory
預設值:「true」-
如果為 true,genfiles 目錄會摺疊至 bin 目錄。
標記:affects_outputs
、incompatible_change
--[no]incompatible_use_host_features
預設值:「false」-
如果為 true,請只將 --features 用於目標設定,並將 --host_features 用於執行設定。
標記:changes_inputs
、affects_outputs
、incompatible_change
--[no]incompatible_use_platforms_repo_for_constraints
預設值:「true」-
如果為 true,系統會移除 @bazel_tools 的限制設定。
標記:affects_outputs
、incompatible_change
--[no]instrument_test_targets
預設值:「false」-
啟用涵蓋率功能時,會指定是否要考慮檢測測試規則。設定後,系統會檢測 --instrumentation_filter 包含的測試規則。否則,一律會從涵蓋率檢測中排除測試規則。
標記:affects_outputs
--instrumentation_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:"-/javatests[/:],-/test/java[/:]"-
啟用涵蓋率功能後,只有名稱包含指定規則運算式篩選器中名稱的規則,才會進行檢測。系統會改為排除前置字串「-」的規則。請注意,除非已啟用 --instrument_test_targets,系統只會檢測非測試規則。
標記:affects_outputs
--ios_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標模擬工具和裝置適用的最低相容 iOS 版本。如未指定,則會使用「ios_sdk_version」。
標記:loses_incremental_state
- 累積共計
--ios_multi_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 ios_application。結果是包含所有指定架構的通用二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--[no]legacy_whole_archive
預設值:「true」-
已淘汰,並由 --incompatible_remove_legacy_whole_Archive 取代 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7362)。開啟此設定後,請為含有 linkshared=True 和 linkstatic=True 或 -static' 的 linkopts 規則使用 --whole-Archive。這項資訊僅適用於回溯相容性。更好的做法是,在需要時使用 alwayslink=1。
標記:action_command_lines
、affects_outputs
、deprecated
- 累積共計
--linkopt=<a string>
次 -
在連結時傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--ltobackendopt=<a string>
次 -
另一個傳送至 LTO 後端步驟的選項 (位於 --features=thin_lto 下方)。
標記:action_command_lines
、affects_outputs
- 累積共計
--ltoindexopt=<a string>
次 -
還有其他選項可以傳送至 LTO 索引步驟 (位於 --features=thin_lto 下方)。
標記:action_command_lines
、affects_outputs
- 累積共計
--macos_cpus=<comma-separated list of options>
次 - 用於建構 Apple macOS 二進位檔的架構清單 (以半形逗號分隔)。
標記:loses_incremental_state
、loading_and_analysis
--macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標適用的最低相容 macOS 版本。如未指定,則會使用「macos_sdk_version」。
標記:loses_incremental_state
--[no]objc_debug_with_GLIBCXX
預設值:「false」-
如果已設定且編譯模式設為「dbg」,請定義 GLIBCXX_DEBUG、GLIBCXX_DEBUG_PEDANTIC 和 GLIBCPP_CONCEPT_CHECKS。
標記:action_command_lines
--[no]objc_enable_binary_stripping
預設值:「false」-
是否要在連結的二進位檔上執行符號和解碼清除程式碼。如果同時指定此旗標和 --compile_mode=opt,系統就會執行二進位檔清除。
標記:action_command_lines
- 累積共計
--objccopt=<a string>
次 -
編譯 Objective-C/C++ 來源檔案時,傳送至 gcc 的其他選項。
標記:action_command_lines
- 累積共計
--per_file_copt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
在其他編譯特定檔案時,選擇性地將資料傳送至 gcc 的選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 會將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案 (bar.cc 除外) 的 gcc 指令列中。
標記:action_command_lines
、affects_outputs
- 累積共計
--per_file_ltobackendopt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
編譯特定後端物件時,可選擇將其他選項傳送到 LTO 後端 (位於 --features=thin_lto 下方)。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--per_file_ltoBackendopt=//foo/.*\.o,-//foo/bar\.o@-O0 在 //foo/ 中所有 o 檔案的 LTO 後端指令列中 ( bar.o 除外) 新增 -O0 指令列選項。
標記:action_command_lines
、affects_outputs
--platform_suffix=<a string>
預設值:查看說明- 指定要新增至設定目錄的後置字串。
標記:loses_incremental_state
、affects_outputs
、loading_and_analysis
--propeller_optimize=<a build target label>
預設值:查看說明-
使用 Propeller 設定檔資訊來最佳化建構目標。修飾符設定檔必須至少包含兩個檔案:1 個副本設定檔和 ld 設定檔。此旗標接受建構標籤,該標籤必須參照修飾符設定檔輸入檔案。例如,定義標籤的 BUILD 檔案:a/b/BUILD:propeller_optimize( name = "propeller_profile", cc_profile = "propeller_cc_profile.txt", ld_profile = "propeller_ld_profile.txt",) 您可能需要在對應的套件中新增匯出檔案指令,才能讓這些檔案顯示在對應的套件中。這個選項必須使用以下格式:--propeller_optimize=//a/b:propeller_profile
標記:action_command_lines
、affects_outputs
--propeller_optimize_absolute_cc_profile=<a string>
預設值:查看說明-
Propeller 最佳化建構作業的 cc_profile 檔案的絕對路徑名稱。
標記:affects_outputs
--propeller_optimize_absolute_ld_profile=<a string>
預設值:查看說明-
Propeller 最佳化建構作業的 ld_profile 檔案的絕對路徑名稱。
標記:affects_outputs
--run_under=<a prefix in front of command>
預設值:查看說明-
針對「test」和「run」指令,在執行檔之前插入的前置字串。如果值為「foo -bar」,且執行指令列是「test_binary -baz」,最後一行指令就是「foo -bar test_binary -baz」。這也可以做為可執行目標的標籤。範例包括:「valgrind」、「strace」、「'strace -c」、'valgrind --quiet --num-callers=20'」、「//package:target'」、「'//package:target --options'」。
標記:action_command_lines
-
如果為 true,含有相同功能的原生資料庫會在不同的目標之間共用
標記:loading_and_analysis
、affects_outputs
--[no]stamp
預設值:「false」-
含有日期、使用者名稱、主機名稱、工作區資訊等標記二進位檔。
標記:affects_outputs
--strip=<always, sometimes or never>
預設值:「偶爾」-
指定是否要移除二進位檔和共用程式庫 (使用「-Wl,--strip-debug」)。預設值「sometimes」表示去除 iff --compile_mode=fastbuild。
標記:affects_outputs
- 累積共計
--stripopt=<a string>
次 -
產生「<name>.stripped」二進位檔時,其他要傳遞至移除的選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--swiftcopt=<a string>
次 -
傳送至 Swift 編譯的其他選項。
標記:action_command_lines
- 累積共計
--tvos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple tvOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--tvos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標模擬器和裝置適用的最低相容 tvOS 版本。如未指定,則會使用「tvos_sdk_version」。
標記:loses_incremental_state
- 累積共計
--visionos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple visionOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
- 累積共計
--watchos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple watchOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--watchos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明- 目標模擬器和裝置適用的最低相容 watchOS 版本。如未指定,則會使用「watchos_sdk_version」。
標記:loses_incremental_state
--xbinary_fdo=<a build target label>
預設值:查看說明-
使用 XbinaryFDO 設定檔資訊最佳化編譯。指定預設跨二進位設定檔的名稱。這個選項與 --fdo_instrument/--fdo_optimize/--fdo_profile 搭配使用時,一律會以您從未指定 xbinary_fdo 的情況為準。
標記:affects_outputs
- 這些選項會影響 Bazel 嚴格強制執行有效建構輸入 (規則定義、標記組合等) 的方式:
--auto_cpu_environment_group=<a build target label>
預設值:「」- 宣告 environment_group,以自動將 CPU 值對應至 target_environment 值。
標記:changes_inputs
、loading_and_analysis
、experimental
--[no]check_licenses
預設值:「false」-
檢查相依套件設下的授權限制未與建構目標的發布模式相衝突。根據預設,系統不會勾選授權。
標記:build_file_semantics
--[no]check_visibility
預設值:「true」-
如果停用的話,目標依附元件中的瀏覽權限錯誤會降級為警告。
標記:build_file_semantics
--[no]desugar_for_android
預設值:「true」-
是否要在 DEX 之前對 Java 8 位元碼解碼。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]desugar_java8_libs
預設值:「false」-
指定是否要在舊版裝置的應用程式中加入支援的 Java 8 程式庫。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]enforce_constraints
預設值:「true」-
檢查每個目標相容的環境,並在任何目標的依附元件不支援相同環境時回報錯誤
標記:build_file_semantics
--[no]experimental_allow_android_library_deps_without_srcs
預設值:「false」- 旗標可協助您轉換系統,不允許採用含有 deps 的 android_library 規則,如要預設推出這個功能,必須先清除庫房。
標記:eagerness_to_exit
、loading_and_analysis
--[no]experimental_check_desugar_deps
預設值:「true」-
是否要在 Android 二進位檔層級再次確認脫糖程序是否正確。
標記:eagerness_to_exit
、loading_and_analysis
、experimental
--experimental_import_deps_checking=<off, warning or error>
預設值:「關閉」-
啟用後,請檢查 aar_import 的依附元件是否已完成。這項強制執行作業可能會中斷建構作業,或是造成警告。
標記:loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default>
預設值:「預設」-
如果為 true,系統會檢查 Java 目標是否明確宣告所有直接使用的目標為依附元件。
標記:build_file_semantics
、eagerness_to_exit
--[no]incompatible_check_testonly_for_output_files
預設值:「false」-
啟用後,只要查詢產生規則的測試,只針對輸出檔案的前置目標進行測試。這與瀏覽權限檢查相符。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disable_native_android_rules
預設值:「false」-
啟用後,系統會停用直接使用原生 Android 規則的功能。請使用 https://github.com/bazelbuild/rules_android 中的 Starlark Android 規則
標記:eagerness_to_exit
、incompatible_change
--[no]incompatible_disable_native_apple_binary_rule
預設值:「false」-
免人工管理。如需回溯相容性,請保留在這裡。
標記:eagerness_to_exit
、incompatible_change
--[no]incompatible_force_strict_header_check_from_starlark
預設值:「true」-
啟用後,請在 Starlark API 中設定嚴格標頭檢查
標記:loading_and_analysis
、changes_inputs
、incompatible_change
--[no]incompatible_validate_top_level_header_inclusions
預設值:「true」-
如果為 true,Bazel 也會驗證頂層目錄標頭納入項目 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/10047)。
標記:loading_and_analysis
、incompatible_change
--[no]strict_filesets
預設值:「false」-
如果啟用這個選項,橫跨套件邊界的檔案集會回報為錯誤。停用 check_fileset_dependencies_recursive 時無法運作。
標記:build_file_semantics
、eagerness_to_exit
--strict_proto_deps=<off, warn, error, strict or default>
預設值:「錯誤」-
除非設為關閉,否則檢查 proto_library 目標是否明確宣告所有直接使用的目標為依附元件。
標記:build_file_semantics
、eagerness_to_exit
、incompatible_change
--strict_public_imports=<off, warn, error, strict or default>
預設值:「關閉」-
除非設為關閉,否則檢查 proto_library 目標是否明確宣告「import public」(匯入公開) 中使用的所有目標均已匯出。
標記:build_file_semantics
、eagerness_to_exit
、incompatible_change
--[no]strict_system_includes
預設值:「false」-
如果為 true,也需要宣告透過系統包含路徑 (-isystem) 的標頭。
標記:loading_and_analysis
、eagerness_to_exit
- 累積共計
--target_environment=<a build target label>
次 -
宣告此建構作業的目標環境。必須是「環境」規則的標籤參照。如有指定,所有頂層目標都必須與這個環境相容。
標記:changes_inputs
- 影響建構作業簽署輸出內容的選項:
--apk_signing_method=<v1, v2, v1_v2 or v4>
預設:「v1_v2」-
用於簽署 APK 的實作
標記:action_command_lines
、affects_outputs
、loading_and_analysis
--[no]device_debug_entitlements
預設值:「true」-
如果已設定此屬性,且編譯模式並非「選擇」,在簽署時,objc 應用程式就會包含偵錯授權。
標記:changes_inputs
--ios_signing_cert_name=<a string>
預設值:查看說明-
iOS 簽署用的憑證名稱。如未設定,則會改回佈建設定檔。如 Codesign 的手冊頁面 (SIGNING IDENTITIES) 所述,這可能是憑證的金鑰鏈身分偏好設定或憑證通用名稱 (子字串)。
標記:action_command_lines
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API。
--[no]incompatible_disallow_legacy_py_provider
預設值:「true」-
這項功能很快就會移除。
標記:loading_and_analysis
、incompatible_change
- 用於控管測試環境或測試執行工具行為的選項:
--[no]allow_analysis_failures
預設值:「false」-
如果為 true,規則目標分析失敗會導致目標為含有錯誤說明的 AnalysisFailureInfo 執行個體傳播,而不會導致建構失敗。
標記:loading_and_analysis
、experimental
--analysis_testing_deps_limit=<an integer>
預設值:「2000」-
透過含有 for_analysis_testing 設定轉換的規則屬性,設定遞移依附元件數量上限。如果超過這個限制,就會發生規則錯誤。
標記:loading_and_analysis
--[no]break_build_on_parallel_dex2oat_failure
預設值:「false」-
如果 dex2oat 動作失敗,會導致建構中斷,而不是在測試執行階段執行 dex2oat。
標記:loading_and_analysis
、experimental
--[no]experimental_android_use_parallel_dex2oat
預設值:「false」-
同時使用 dex2oat,可能會加快 android_test 的速度。
標記:loading_and_analysis
、host_machine_resource_optimizations
、experimental
--[no]ios_memleaks
預設值:「false」-
啟用檢查 ios_test 目標的記憶體流失情形。
標記:action_command_lines
--ios_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 iOS 應用程式時要模擬的裝置,例如「iPhone 6」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--ios_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時要在模擬器上執行的 iOS 版本。如果在規則中指定了目標裝置,系統會忽略 ios_test 規則。
標記:test_runner
- 累積共計
--runs_per_test=<a positive integer or test_regex@runs. This flag may be passed more than once>
次 - 指定每項測試的執行次數。如果這些嘗試基於任何原因失敗,整個測試都視為失敗。通常指定的值只是整數。範例:--runs_per_test=3 會執行所有測試 3 次。替代語法:regex_filter@runs_per_test。Run_per_test 代表整數值,regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。範例:--runs_per_test=//foo/.*,-//foo/bar/.*@3 會在 //foo/ 中執行所有測試 (在 foo/bar 下執行三次測試)。這個選項可以多次傳遞。系統會優先採用最近傳遞的相符引數。如果沒有相符項目,系統只會執行一次測試。
- 累積共計
--test_env=<a 'name=value' assignment with an optional value part>
次 -
指定要將其他環境變數插入測試執行工具環境。您可以使用名稱指定變數,在這種情況下,系統會從 Bazel 用戶端環境或 name=value 組合讀取變數的值。這個選項可多次用於指定多個變數。僅由「bazel test」指令使用。
標記:test_runner
--test_timeout=<a single integer or comma-separated list of 4 integers>
預設值:「-1」- 覆寫測試逾時的預設測試逾時值 (以秒為單位)。如果指定單一正整數值,則會覆寫所有類別。如果指定 4 個以半形逗號分隔的整數,這些整數將覆寫短、中等、長號和橢圓的逾時值 (依序)。無論是哪一種形式,-1 值都會指示 blaze 使用該類別的預設逾時值。
--tvos_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 tvOS 應用程式時要模擬的裝置,例如「Apple TV 1080p」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--tvos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時要在模擬器上執行的 tvOS 版本。
標記:test_runner
--watchos_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 WatchOS 應用程式時要模擬的裝置,例如「Apple Watch - 38mm」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--watchos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時,要在模擬器上執行的手錶版本。
標記:test_runner
--[no]zip_undeclared_test_outputs
預設值:「true」-
如果為 true,未宣告的測試輸出內容會封存成 ZIP 檔案。
標記:test_runner
- 與查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise>
預設值:「保守」-
當輸出格式是 {xml,proto,record} 時,如何解析長寬比的依附元件。「off」表示未解析任何顯示依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,均已新增所有宣告的依附元件。「精確」表示只有在直接依附元件的規則類別下,才會新增這些可能處於有效狀態的元件。請注意,您需要載入其他套件來評估單一目標,因此速度比其他模式慢。另請注意,即使是精確模式,也不一定完全準確:系統會在分析階段決定要計算某個面向,而這不會在「bazel 查詢」期間執行。
標記:build_file_semantics
--[no]consistent_labels
預設值:「false」-
如果啟用,每個查詢指令都會像套用 <code>Label</code> 標籤的 Starlark <code>str</code> 函式一樣發出標籤。這對於需要比對不同查詢指令輸出內容和/或規則產生的標籤的工具而言非常實用。如未啟用,輸出格式器就不會產生明顯的存放區名稱 (相對於主要存放區),改為讓輸出內容更容易閱讀。
標記:terminal_output
--[no]deduplicate_depsets
預設值:「true」-
在最終的 proto/textproto/json 輸出中,刪除 dep_set_of_files 的不重複非分葉子項。這不會簡化不會共用直接父項的重複資料刪除作業。這不會影響動作的最終有效輸入構件清單。
標記:terminal_output
--[no]graph:factored
預設值:「true」-
如果為 True,圖表就會以「係數」形式進行,意即邏輯對等節點會合併,並串連這些節點。這個選項僅適用於 --output=graph。
標記:terminal_output
--graph:node_limit=<an integer>
預設值:「512」-
輸出內容中圖表節點的標籤字串長度上限,較長的標籤將遭到截斷;-1 表示不會遭到截斷。這個選項僅適用於 --output=graph。
標記:terminal_output
--[no]implicit_deps
預設值:「true」-
如果啟用,隱含依附元件將包含在查詢作業的依附元件圖表中。隱含依附元件是指 BUILD 檔案中未明確指定,但是由 bazel 新增的依附元件。針對 cquery,這個選項可控制已解析的工具鍊。
標記:build_file_semantics
--[no]include_artifacts
預設值:「true」-
在輸出中加入動作輸入和輸出的名稱 (可能非常大)。
標記:terminal_output
--[no]include_aspects
預設值:「true」- 查詢, cquery: 是否在輸出中納入由面向產生的動作。 query:no-op (一律會遵循指定順序)。
標記:terminal_output
--[no]include_commandline
預設值:「true」-
在輸出內容中加入動作指令列的內容 (可能非常大)。
標記:terminal_output
--[no]include_file_write_contents
預設值:「false」-
加入 FileWrite 和 SourceSymlinkManifest 動作的檔案內容 (可能較大)。
標記:terminal_output
--[no]include_param_files
預設值:「false」-
包含指令中使用的參數檔案內容 (可能非常大)。注意:啟用此旗標後,系統會自動啟用 --include_commandline 標記。
標記:terminal_output
--[no]incompatible_display_source_file_location
預設值:「true」-
預設為 True,會顯示來源檔案的目標。如為 true,則在位置輸出中,顯示來源檔案第 1 行的位置。這個旗標只會用於遷移。
標記:terminal_output
、incompatible_change
--[no]incompatible_package_group_includes_double_slash
預設值:「true」-
如果啟用此功能,輸出 package_group 的 `packages` 屬性時,系統不會省略開頭的 `//`。
標記:terminal_output
、incompatible_change
--[no]infer_universe_scope
預設值:「false」-
如果未設定且未設定 --universe_scope,系統就會推斷查詢運算式中 --universe_scope 的值,做為不重複目標模式清單。請注意,針對使用宇宙範圍函式 (例如「allrdeps」) 的查詢運算式所推測的 --universe_scope 值,不一定符合需求,因此,建議只在知道相關做法的情況下才使用這個選項。如需詳細資訊和範例,請前往 https://bazel.build/reference/query#sky-query。如果設定了 --universe_scope,系統就會忽略此選項的值。注意:這個選項僅適用於「query」(而不是「cquery」)。
標記:loading_and_analysis
--[no]line_terminator_null
預設值:「false」-
表示各種格式會以 \0 結尾 (而非換行符號)。
標記:terminal_output
--[no]nodep_deps
預設值:「true」-
如果啟用,「nodep」屬性的部分就會包含在查詢作業的依附元件圖表中。「nodep」屬性的常見例子為「visibility」。執行並剖析「info build-language」的輸出內容,瞭解建構語言中的所有「nodep」屬性。
標記:build_file_semantics
--output=<a string>
預設值:「text」-
查詢結果的列印格式。查詢允許的值包括:text、textproto、proto、jsonproto。
標記:terminal_output
--[no]proto:default_values
預設值:「true」-
如果設為 true,系統將納入 BUILD 檔案中未明確指定值的屬性,否則會省略。這個選項適用於 --output=proto
標記:terminal_output
--[no]proto:definition_stack
預設值:「false」-
填入 definition_stack proto 欄位,系統會在定義規則類別時,記錄每個規則例項的 Starlark 呼叫堆疊。
標記:terminal_output
--[no]proto:flatten_selects
預設值:「true」-
啟用後,由 select() 建立的可設定屬性會經過分割。以清單類型來說,整併表示法是一份清單,其中包含所選地圖的每個值。純量類型會整併為空值。
標記:build_file_semantics
--[no]proto:include_synthetic_attribute_hash
預設值:「false」-
是否要計算並填入 $internal_attr_hash 屬性。
標記:terminal_output
--[no]proto:instantiation_stack
預設值:「false」-
填入每個規則的例項化呼叫堆疊。請注意,堆疊必須具有
標記:terminal_output
--[no]proto:locations
預設值:「true」-
指定是否要在 proto 輸出中輸出位置資訊。
標記:terminal_output
--proto:output_rule_attrs=<comma-separated list of options>
預設值:「全部」-
要納入輸出的屬性清單 (以半形逗號分隔)。預設值為所有屬性。設為空白字串,不輸出任何屬性。這個選項適用於 --output=proto。
標記:terminal_output
--[no]proto:rule_inputs_and_outputs
預設值:「true」-
是否要填入 Rules_input 和 Rules_output 欄位。
標記:terminal_output
--query_file=<a string>
預設值:「」-
如果已設定,查詢就會從這裡命名的檔案讀取查詢,而不是透過指令列讀取查詢。在這裡指定檔案和指令列查詢會發生錯誤。
標記:changes_inputs
--[no]relative_locations
預設值:「false」-
如果為 true,XML 和 proto 輸出中的 BUILD 檔案位置是相對位置。根據預設,位置輸出內容為絕對路徑,且在不同電腦上不會一致。只要將這個選項設為 true,就能讓不同機器的結果保持一致。
標記:terminal_output
--[no]skyframe_state
預設值:「false」-
如果不執行額外分析,請從 SkyFrame 傾印目前的動作圖。注意:目前不支援使用 --skyframe_state 指定目標。這個標記僅適用於 --output=proto 或 --output=textproto。
標記:terminal_output
--[no]tool_deps
預設值:「true」-
查詢:如果停用,「主機設定」或「執行」目標的依附元件就不會納入查詢作業的依附元件圖表。「主機設定」依附元件邊緣 (例如從任何「proto_library」規則到通訊協定編譯器的邊緣),通常會指向在建構期間執行的工具,而不是同一個「target」程式的一部分。Cquery:如果停用這項設定,系統會篩除從找到這個設定目標的頂層目標,篩選出跨主機或執行轉換的所有已設定目標。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於主機設定,系統只會傳回主機設定的目標。這個選項「不會」排除已解析的工具鍊。
標記:build_file_semantics
--universe_scope=<comma-separated list of options>
預設值:「」-
以半形逗號分隔的目標模式組合 (相加和減法)。這項查詢可以由指定目標的轉換封閉定義,在宇宙中執行。這個選項用於查詢和 cquery 指令。針對 cquery,這個選項的輸入內容是以所有答案為基礎建構,因此這個選項可能會影響設定和轉換作業。如果未指定此選項,系統會假設頂層目標為從查詢運算式剖析的目標。注意:針對 cquery,如果不指定此選項,則無法使用頂層選項建構從查詢運算式剖析的目標時,可能會導致建構中斷。
標記:loading_and_analysis
- 會觸發建構時間最佳化的選項:
--[no]collapse_duplicate_defines
預設值:「false」-
啟用後,冗餘 (定義) 會在建構初期移除。這可以避免對特定類型的對等建構作業進行不必要的分析快取。
標記:loading_and_analysis
、loses_incremental_state
--[no]experimental_filter_library_jar_with_program_jar
預設值:「false」-
篩選 ProGuard ProgramJar,移除 LibraryJar 中的任何類別。
標記:action_command_lines
--[no]experimental_inmemory_dotd_files
預設值:「true」-
啟用後,C++ .d 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記:loading_and_analysis
、execution
、affects_outputs
、experimental
--[no]experimental_inmemory_jdeps_files
預設值:「true」-
啟用後,由 Java 編譯產生的依附元件 (.jdeps) 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記:loading_and_analysis
、execution
、affects_outputs
、experimental
--[no]experimental_objc_include_scanning
預設值:「false」-
是否要對目標 C/C++ 執行納入掃描。
標記:loading_and_analysis
、execution
、changes_inputs
--[no]experimental_parse_headers_skipped_if_corresponding_srcs_found
預設值:「false」-
啟用後,如果在同一個目標中發現具有相同基本名稱的來源,則 parse_headers 功能不會另外建立標頭編譯動作。
標記:loading_and_analysis
、affects_outputs
--[no]experimental_retain_test_configuration_across_testonly
預設值:「false」-
啟用後,--trim_test_configuration 就不會針對標示為 testonly=1 的規則修剪測試設定。這是為了減少非測試規則依附於 cc_test 規則時的操作衝突問題。如果 --trim_test_configuration 為 false,則不會產生任何影響。
標記:loading_and_analysis
、loses_incremental_state
--[no]experimental_starlark_cc_import
預設值:「false」-
如果啟用,就能使用 cc_import 的 Starlark 版本。
標記:loading_and_analysis
、experimental
--[no]experimental_unsupported_and_brittle_include_scanning
預設值:「false」-
是否要剖析輸入檔案中的 #include 行,藉此將輸入範圍縮小至 C/C++ 編譯。這麼做可以減少編譯輸入樹狀結構的大小,藉此提升效能與成效增幅。不過,這也可能破壞建構作業,因為 include 掃描器並未完整實作 C 預先處理器語意。具體來說,它無法理解動態 #include 指令,而且會忽略預先處理器的條件邏輯。使用時需自行承擔風險。我們將關閉所有與這項標記有關的問題。
標記:loading_and_analysis
、execution
、changes_inputs
--[no]incremental_dexing
預設值:「true」-
這大部分工作會分別針對每個 Jar 檔案執行 DEX 處理。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]objc_use_dotd_pruning
預設值:「true」-
設定後,系統會使用 clang 發出的 .d 檔案來修剪傳遞至 objc 編譯的輸入組合。
標記:changes_inputs
、loading_and_analysis
--[no]process_headers_in_dependencies
預設值:「false」-
建構目標 //a:a 時,請處理所有 //a:a 相依目標中的標頭 (如果工具鍊已啟用標頭處理功能)。
標記:execution
--[no]trim_test_configuration
預設值:「true」-
啟用後,系統會在建構的頂層下方清除測試相關選項。這個標記啟用後,就無法將測試建構為非測試規則的依附元件,但如果變更測試相關選項,系統不會重新分析非測試規則。
標記:loading_and_analysis
、loses_incremental_state
--[no]use_singlejar_apkbuilder
預設值:「true」-
這個選項已淘汰。這項功能目前為免人工管理,不久後就會移除。
標記:loading_and_analysis
- 影響記錄詳細程度、格式或位置的選項:
--toolchain_resolution_debug=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:「-.*」-
在工具鍊解析期間列印偵錯資訊。這個標記會採用規則運算式,系統會檢查工具鍊類型和特定目標,找出要偵錯的項目。您可以使用半形逗號分隔多個規則運算式,然後分別檢查每個規則運算式。注意:此標記的輸出內容非常複雜,可能只有工具鍊解析的專家才有用。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
- 累積共計
--flag_alias=<a 'name=value' flag alias>
次 -
設定 Starlark 標記的簡稱。它會採用格式為「<key>=<value>」的單一鍵/值組合做為引數。
標記:changes_inputs
--[no]incompatible_default_to_explicit_init_py
預設值:「false」-
這個標記會變更預設行為,因此系統不會再於 Python 目標的執行檔案中自動建立 __init__.py 檔案。精確來說,如果 py_binary 或 py_test 目標將 legacy_create_init 設為「auto」(預設值),只有在設定了此標記時,系統才會將這個值視為 false。請參閱 https://github.com/bazelbuild/bazel/issues/10076。
標記:affects_outputs
、incompatible_change
--[no]incompatible_py2_outputs_are_suffixed
預設值:「true」-
如果為 true,在 Python 2 設定中建立的目標會顯示在包含後置字串「-py2」的輸出根下,而針對 Python 3 建構的目標則會顯示在根層級中,而且不會顯示 Python 相關後置字串。這表示「bazel-bin」便利符號連結會指向 Python 3 目標,而非 Python 2。如果啟用這個選項,我們也建議你啟用「--incompatible_py3_is_default」。
標記:affects_outputs
、incompatible_change
--[no]incompatible_py3_is_default
預設值:「true」-
如果設為 true,未設定「Python_version」(或「default_python_version」) 屬性的「py_binary」和「py_test」目標將預設為 PY3,而非 PY2。如果設定這個標記,我們也建議你設定「--incompatible_py2_outputs_are_suffixed」。
標記:loading_and_analysis
、affects_outputs
、incompatible_change
--[no]incompatible_use_python_toolchains
預設值:「true」-
如果設為 true,可執行的原生 Python 規則將使用 Python 工具鍊指定的 Python 執行階段,而非由 --python_top 等舊版旗標指定的執行階段。
標記:loading_and_analysis
、incompatible_change
--python_version=<PY2 or PY3>
預設值:查看說明-
Python 主要版本模式,可以是「PY2」或「PY3」。請注意,「py_binary」和「py_test」目標會遭到覆寫 (即使這些目標並未明確指定版本),所以通常沒有什麼原因需要提供這個標記。
標記:loading_and_analysis
、affects_outputs
、explicit_in_output_path
- 其他選項,未分類。
--[no]cache_test_results
[-t
] 預設值:「auto」- 如果設為「auto」,Bazel 只會在下列情況下重新執行測試:(1) Bazel 偵測到測試或其依附元件中的變更;(2) 將測試標示為外部;(3) 使用 --runs_per_test 要求多項測試執行作業,或(4) 先前測試失敗。如果設為「是」,Bazel 會快取所有測試結果,但標示為外部的測試除外。如果設為「no」,Bazel 不會快取任何測試結果。
--[no]experimental_cancel_concurrent_tests
預設值:「false」-
如果為 true,Blaze 會在第一次成功執行時取消並行執行測試。這個方法只適合與 --runs_per_test_detects_flakes 搭配使用。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_fetch_all_coverage_outputs
預設值:「false」-
如果為 true,Bazel 會在涵蓋範圍執行期間擷取每項測試的完整涵蓋範圍資料目錄。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_generate_llvm_lcov
預設值:「false」-
如果為 true,Clang 的涵蓋範圍將產生 LCOV 報告。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_j2objc_header_map
預設值:「true」- 是否要同時產生 J2ObjC 標頭對應,用於 J2ObjC 轉譯。
--[no]experimental_j2objc_shorter_header_path
預設值:「false」-
是否要使用較短的標頭路徑產生 (使用「_ios」,而非「_j2objc」)。
標記:affects_outputs
--experimental_java_classpath=<off, javabuilder or bazel>
預設值:「javabuilder」- 啟用減少 Java 編譯的類別路徑。
--[no]experimental_limit_android_lint_to_android_constrained_java
預設值:「false」-
將 --experimental_run_android_lint_on_java_rules 限制為與 Android 相容的程式庫。
標記:affects_outputs
--[no]experimental_run_android_lint_on_java_rules
預設值:「false」-
是否驗證 java_* 來源。
標記:affects_outputs
--[no]explicit_java_test_deps
預設值:「false」- 在 java_test 中明確指定 JUnit 或 Hamcrest 的依附元件,而非意外從 TestRunner 的依附元件取得。目前僅適用於邊框。
--host_java_launcher=<a build target label>
預設值:查看說明- 在建構期間所執行工具使用的 Java 啟動器。
- 累積共計
--host_javacopt=<a string>
次 - 建構在建構期間執行的工具時,可傳遞至 javac 的選項。
- 累積共計
--host_jvmopt=<a string>
次 - 建構在建構期間執行的工具時,傳送至 Java VM 的其他選項。這些選項會新增至每個 java_binary 目標的 VM 啟動選項中。
--[no]incompatible_check_sharding_support
預設值:「false」-
如果為 true,Bazel 會在測試執行工具中輕觸 TEST_SHARD_STATUS_FILE 路徑中的檔案,表示支援資料分割測試。如果為 false,不支援資料分割的測試執行器會導致每個資料分割中的所有測試執行。
標記:incompatible_change
--[no]incompatible_exclusive_test_sandboxed
預設值:「false」-
如果為 true,獨家測試會以沙箱策略執行。新增「local」標記,強制在本機執行專屬測試
標記:incompatible_change
--[no]incompatible_strict_action_env
預設值:「false」-
如果為 true,Bazel 會使用具有靜態值的 PATH 環境,且不會沿用 LD_LIBRARY_PATH。如果想要繼承用戶端的特定環境變數,請使用 --action_env=ENV_VARIABLE,但請注意,這樣在使用共用快取時,就能避免跨使用者快取。
標記:loading_and_analysis
、incompatible_change
- 累積共計
--j2objc_translation_flags=<comma-separated list of options>
次 - 傳送至 J2ObjC 工具的其他選項。
--java_debug
-
使用 Java 測試的 Java 虛擬機器,等待從與 JDWP 相容的偵錯工具 (例如 jdb) 建立連線後,再開始測試。隱含 -test_output=streamed。
展開至:
--test_arg=--wrapper_script_flag=--debug
--test_output=streamed
--test_strategy=exclusive
--test_timeout=9999
--nocache_test_results
--[no]java_deps
預設值:「true」- 為每個 Java 目標產生依附元件資訊 (目前是編譯時間類別路徑)。
--[no]java_header_compilation
預設值:「true」- 直接從來源編譯 ijar。
--java_language_version=<a string>
預設值:「8」- Java 版本
--java_launcher=<a build target label>
預設值:查看說明- 建構 Java 二進位檔時使用的 Java 啟動器。如果此旗標設為空白字串,系統會使用 JDK 啟動器。「launcher」屬性會覆寫這個標記。
--java_runtime_version=<a string>
預設值:「local_jdk」- Java 執行階段版本
- 累積共計
--javacopt=<a string>
次 - 傳送至 javac 的其他選項。
- 累積共計
--jvmopt=<a string>
次 - 傳送至 Java VM 的其他選項。這些選項會新增至每個 java_binary 目標的 VM 啟動選項中。
--legacy_main_dex_list_generator=<a build target label>
預設值:查看說明- 指定在編譯舊版 Multidex 時,用來產生類別清單的二進位檔。
- 累積共計
--plugin=<a build target label>
次 - 用於版本中的外掛程式。目前可與 java_plugin 搭配使用。
--proguard_top=<a build target label>
預設值:查看說明- 指定建構 Java 二進位檔時,使用哪個 ProGuard 版本移除程式碼。
--proto_compiler=<a build target label>
預設值:"@bazel_tools//tools/proto:protoc"- proto- 編譯器的標籤。
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_cc=<a build target label>
預設值:"@bazel_tools//tools/proto:cc_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 C++ proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_j2objc=<a build target label>
預設值:"@bazel_tools//tools/j2objc:j2objc_proto_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 j2objc proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_java=<a build target label>
預設值:"@bazel_tools//tools/proto:java_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 Java proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_javalite=<a build target label>
預設值:"@bazel_tools//tools/proto:javalite_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 JavaLite proto
標記:affects_outputs
、loading_and_analysis
- 累積共計
--protocopt=<a string>
次 -
傳送至 protobuf 編譯器的其他選項。
標記:affects_outputs
--[no]runs_per_test_detects_flakes
預設值:「false」- 如果為 true,只要至少有一項執行作業/嘗試通過,且至少有一個執行/嘗試失敗的資料分割,就會獲得 FLAKY 狀態。
--shell_executable=<a path>
預設值:查看說明-
供 Bazel 使用的殼層執行檔的絕對路徑。如未設定,但 Bazel 會在首次叫用 (啟動 Bazel 伺服器) 時設定 BAZEL_SH 環境變數,如果未設定,Bazel 會根據執行時使用的作業系統使用硬式編碼預設路徑 (Windows:c:/tools/msys64/usr/bin/bash.exe、FreeBSD: /usr/local/bin/bash,所有其他項目:/bin/bash)。請注意,使用與 bash 不相容的殼層可能會導致產生的二進位檔出現建構失敗或執行階段失敗。
標記:loading_and_analysis
- 累積共計
--test_arg=<a string>
次 - 指定要傳送至測試執行檔的其他選項和引數。可多次用於指定多個引數。如果執行多項測試,每個測試都會收到相同的引數。僅由「bazel test」指令使用。
--test_filter=<a string>
預設值:查看說明- 指定要傳送至測試架構的篩選器。用於限制測試執行。請注意,這不會影響建構的目標。
--test_result_expiration=<an integer>
預設值:「-1」- 這個選項已淘汰,不會產生任何作用。
--[no]test_runner_fail_fast
預設值:「false」- 將失敗的快速選項轉送至測試執行器。測試執行工具應在首次失敗時停止執行。
--test_sharding_strategy=<explicit or disabled>
預設值:「明確」- 指定測試資料分割的策略:「明確」,只有在「shard_count」BUILD 屬性存在時,才會使用資料分割。「已停用」:一律不使用測試資料分割。
--tool_java_language_version=<a string>
預設值:「8」- 用於執行建構期間所需工具的 Java 語言版本
--tool_java_runtime_version=<a string>
預設值:「remotejdk_11」- 用於在建構期間執行工具的 Java 執行階段版本
--[no]use_ijars
預設值:「true」- 啟用後,這個選項會讓 Java 編譯使用介面 Jar。這會造成漸進式編譯速度更快,但錯誤訊息可能有所不同。
建構選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--[no]check_up_to_date
預設值:「false」-
請勿執行建構,只要檢查其是否為最新版本即可。如果所有目標皆為最新狀態,就表示建構作業順利完成。如果需要執行某個步驟的錯誤,系統會回報該錯誤,且建構失敗。
標記:execution
--dynamic_local_execution_delay=<an integer>
預設值:「1000」-
如果遠端執行在建構期間至少一次執行速度變快,本機執行作業應延遲多少毫秒?
標記:execution
、host_machine_resource_optimizations
- 累積共計
--dynamic_local_strategy=<a '[name=]value1[,..,valueN]' assignment>
次 -
針對特定指標採用的本機策略。傳送「local」做為助記,即可設定未指定的助學方法。使用 [mnemonic=]local_strategy[,local_strategy,...]
標記:execution
、host_machine_resource_optimizations
- 累積共計
--dynamic_remote_strategy=<a '[name=]value1[,..,valueN]' assignment>
次 -
用於特定記憶的遠端策略。如果將「remote」傳遞為代記鍵,系統會為未指定的助聽設定預設值。使用 [mnemonic=]remote_strategy[,remote_strategy,...]
標記:execution
、host_machine_resource_optimizations
--experimental_docker_image=<a string>
預設值:「」-
指定 Docker 映像檔名稱 (例如「ubuntu:latest」),使用 docker 策略時,應用於執行沙箱動作,而動作本身在平台說明的 remote_execution_properties 中還沒有容器映像檔屬性。這個旗標的值會逐字傳遞至「docker run」,因此支援與 Docker 本身相同的語法和機制。
標記:execution
--[no]experimental_docker_use_customized_images
預設值:「true」-
啟用後,在使用 Docker 映像檔前,先將目前使用者的 uid 和 gid 插入 Docker 映像檔。如果您的建構 / 測試取決於使用者在容器中具有名稱和主目錄,這是必要的。這個選項預設為開啟。不過,如果您不需要這項功能,或您確定不需要這項功能,可以停用自動圖片自訂功能。
標記:execution
--[no]experimental_dynamic_exclude_tools
預設值:「true」-
設定此屬性後,建構的「工具專用」目標就不會執行動態執行作業。這類目標不太可能逐步建立,因此也不值得花當地週期付費。
標記:execution
、host_machine_resource_optimizations
--experimental_dynamic_local_load_factor=<a double>
預設值:「0」-
控管動態執行要設置在本機機器的負載量。這個旗標可調整要在動態執行作業中同時排程的動作數量。是根據 Blaze 認為可用的 CPU 數量,使用 --local_cpu_resources 標記來控制。如果此旗標為 0,則所有動作會立即在本機排程。如果大於 0,則本機排定的動作數量會限制可用的 CPU 數量。如果「小於 1」,當等待排程的動作數偏高時,系統就會使用負載係數,減少本機排定的動作次數。這種做法可在簡潔的建構案例中,降低本機電腦的負載,本機機器無法貢獻太多內容。
標記:execution
、host_machine_resource_optimizations
--experimental_dynamic_slow_remote_time=<An immutable length of time.>
預設值:「0」- 如果大於 0,則動態執行動作的時間必須只在遠端執行,我們才會優先執行本機執行,以免發生遠端逾時。這可能會隱藏遠端執行系統的一些問題。請勿在不監控遠端執行問題的情況下開啟這項功能。
標記:execution
、host_machine_resource_optimizations
--[no]experimental_enable_docker_sandbox
預設值:「false」-
啟用以 Docker 為基礎的沙箱。如未安裝 Docker,這個選項不會產生任何影響。
標記:execution
--experimental_persistent_javac
-
啟用實驗性永久 Java 編譯器。
展開為:
--strategy=Javac=worker
--strategy=JavaIjar=local
--strategy=JavaDeployJar=local
--strategy=JavaSourceJar=local
--strategy=Turbine=local
標記:execution
、host_machine_resource_optimizations
--experimental_sandbox_async_tree_delete_idle_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「0」-
如果為 0,請在動作完成後立即刪除沙箱樹狀結構 (導致操作完成後會延遲)。如果大於零,請在建構作業執行時,在大小為 1 的非同步執行緒集區中執行刪除這三個項目,並在伺服器閒置時,增加到這個標記指定的大小。
標記:host_machine_resource_optimizations
、execution
--experimental_sandboxfs_path=<a string>
預設值:「sandboxfs」-
當 --experimental_use_sandboxfs 為 true 時,要使用的沙箱二進位檔路徑。如果是裸名名稱,請使用 PATH 中該名稱的第一個二進位。
標記:host_machine_resource_optimizations
、execution
--[no]experimental_split_xml_generation
預設值:「true」-
如果設定了這個標記,且測試動作不會產生 test.xml 檔案,Bazel 便會透過另外的動作產生包含測試記錄的虛擬 test.xml 檔案。否則,Bazel 會在測試動作中產生 test.xml。
標記:execution
--experimental_total_worker_memory_limit_mb=<an integer, or "HOST_RAM", optionally followed by [-|*]<float>.>
預設值:「0」-
如果這項限制大於零的閒置工作站,一旦所有工作站的記憶體用量超過限制,可能會終止。
標記:execution
、host_machine_resource_optimizations
--[no]experimental_use_hermetic_linux_sandbox
預設值:「false」-
如果設為 True,則不要掛接根層級,只掛接透過 sandbox_add_mount_pair 提供的項目。輸入檔案要連結至沙箱,而不是與沙箱相連結。如果動作輸入檔案位於與沙箱不同的檔案系統中,系統會改為複製輸入檔案。
標記:execution
--[no]experimental_use_sandboxfs
預設值:「false」-
使用沙箱來建立動作的執行根目錄,而非建立符號連結樹狀結構。如果設為「是」,則 --experimental_sandboxfs_path 提供的二進位檔必須有效,並且對應至支援的 sandboxfs 版本。若為「auto」,二進位檔可能遺失或不相容。
標記:host_machine_resource_optimizations
、execution
--[no]experimental_use_windows_sandbox
預設值:「false」- 您可以使用 Windows 沙箱執行動作。如果設為「是」,表示 --experimental_windows_sandbox_path 提供的二進位檔有效,且對應至支援的 sandboxfs 版本。若為「auto」,二進位檔可能遺失或不相容。
--experimental_windows_sandbox_path=<a string>
預設值:「BazelSandbox.exe」- 當 --experimental_use_windows_sandbox 為 true 時,要使用的 Windows 沙箱二進位檔路徑。如果是裸名名稱,請使用 PATH 中該名稱的第一個二進位。
--[no]experimental_worker_as_resource
預設值:「false」-
如果啟用,系統會從 ResourceManager 取得工作站做為資源。
標記:execution
、host_machine_resource_optimizations
--[no]experimental_worker_cancellation
預設值:「false」-
如果啟用,Bazel 可能會傳送取消要求給支援這些要求的工作站。
標記:execution
--[no]experimental_worker_multiplex
預設值:「true」-
如果啟用,支援實驗性多工處理功能的工作站將會使用該功能。
標記:execution
、host_machine_resource_optimizations
--[no]experimental_worker_multiplex_sandboxing
預設值:「false」-
啟用後,系統會針對每個工作要求使用獨立的沙箱目錄,讓多 x 工作站採用沙箱機制。只有具備「supports-multiplex-sandboxing」執行需求的工作站才會採用沙箱機制。
標記:execution
--[no]experimental_worker_strict_flagfiles
預設值:「false」-
啟用後,未遵循 worker 規格的工作站動作引數會導致錯誤。工作站引數只能有一個 @flagfile 引數,做為其最後的引數清單。
標記:execution
--genrule_strategy=<comma-separated list of options>
預設值:「」-
指定 genrules 的執行方式。這項旗標將遭到淘汰。請改用 --spawn_strategy=<value> 控制所有動作,或使用 --strategy=Genrule=<value> 只控管 Genrules。
標記:execution
- 累積共計
--high_priority_workers=<a string>
次 -
以高優先順序執行的工作站節點。當高優先順序工作站正在執行所有其他工作站時,都會受到節流限制。
標記:execution
--[no]incompatible_remote_dangling_symlinks
預設值:「true」-
如果設為 true,且 --incompatible_remote_symlinks 也設為 True,則動作輸出中的符號連結可以使用。
標記:execution
、incompatible_change
--[no]incompatible_remote_symlinks
預設值:「true」-
如果設為 True,Bazel 會在遠端快取/執行通訊協定的動作輸出中代表符號連結。否則,系統會追蹤符號連結,並以檔案或目錄表示。詳情請參閱 #6631。
標記:execution
、incompatible_change
--[no]incompatible_sandbox_hermetic_tmp
預設值:「false」-
如果設為 true,每個 Linux 沙箱都會有專屬的空白目錄掛接為 /tmp,而非與主機檔案系統共用 /tmp。使用 --sandbox_add_mount_pair=/tmp 在所有沙箱中持續查看主機的 /tmp。
標記:execution
--[no]internal_spawn_scheduler
預設值:「false」-
預留位置選項,用於在 Blaze 中識別產生排程器是否已啟用。
標記:execution
、host_machine_resource_optimizations
--jobs=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
[-j
] 預設值:「auto」-
要執行的並行工作數量。使用整數或關鍵字 ("auto"、"HOST_CPUS"、"HOST_RAM"),並視需要加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。值必須介於 1 到 5000 之間。超過 2500 的值可能會導致記憶體問題。「auto」會根據主機資源計算合理的預設值。
標記:host_machine_resource_optimizations
、execution
--[no]keep_going
[-k
] 預設值:「false」-
發生錯誤後請盡可能繼續。雖然無法分析失敗的目標和依附於該目標的部分,但可以採用這些目標的其他必要條件。
標記:eagerness_to_exit
--loading_phase_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
用於載入/分析階段的平行執行緒數量。可使用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要在後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據主機資源設定合理的預設值。不得小於 1,
標記:bazel_internal_configuration
--[no]reuse_sandbox_directories
預設值:「false」-
如果設為 True,系統可能會重複使用沙箱非工作站執行作業使用的目錄,避免不必要的設定費用。
標記:host_machine_resource_optimizations
、execution
--sandbox_base=<a string>
預設值:「」-
讓沙箱在這個路徑底下建立沙箱目錄。指定 tmpfs 的路徑 (例如 /run/shm),可在建構 / 測試包含多個輸入檔案時,大幅改善效能。注意:tmpfs 需要足夠的 RAM 和可用空間,才能保存執行動作所產生的輸出和中繼檔案。
標記:host_machine_resource_optimizations
、execution
--[no]sandbox_explicit_pseudoterminal
預設值:「false」-
為沙箱動作明確啟用虛擬終端機建立功能。某些 Linux 發行作業需要在沙箱中將程序的群組 ID 設為「tty」,才能運作虛擬終端機功能。如果這個問題造成問題,可以停用這個標記,啟用其他群組。
標記:execution
- 累積共計
--sandbox_tmpfs_path=<an absolute path>
次 -
如果是採用沙箱機制的動作,請在這個絕對路徑中掛接空白且可寫入的目錄 (如果沙箱實作支援,否則系統會忽略該目錄)。
標記:host_machine_resource_optimizations
、execution
--spawn_strategy=<comma-separated list of options>
預設值:「」-
指定產生的動作預設執行方式。接受以逗號分隔的策略清單 (從最高到最低)。Bazel 會針對每項動作選擇優先順序最高且可執行動作的策略。預設值為「remote,worker,sandboxed,local」。詳情請參閱 https://blog.bazel.build/2019/06/19/list-strategy.html。
標記:execution
- 累積共計
--strategy=<a '[name=]value1[,..,valueN]' assignment>
次 -
指定如何分配其他生成動作的編譯方式。接受以逗號分隔的策略清單 (從最高到最低)。Bazel 會針對每項動作選擇優先順序最高且可執行動作的策略。預設值為「remote,worker,sandboxed,local」。此旗標會覆寫 --spawn_strategy (如果與 mnemonic Genrule) 設定的值,以及 --genrule_strategy。詳情請參閱 https://blog.bazel.build/2019/06/19/list-strategy.html。
標記:execution
- 累積共計
--strategy_regexp=<a '<RegexFilter>=value[,value]' assignment>
次 -
覆寫要使用哪一個產生的策略,執行說明符合特定 regex_filter 條件的生成動作。如要進一步瞭解 regex_filter 比對功能,請參閱 --per_file_copt。並會使用第一個符合說明的 regex_filter。這個選項會覆寫其他用於指定策略的標記。範例:--strategy_regexp=//foo.*\.cc,-//foo/bar=local 是指在說明符合 //foo.*.cc 而非 //foo/bar 時,使用本地策略執行動作。範例:--strategy_regexp='Compiling.*/bar=local --strategy_regexp=Compiling=sandboxed 將使用「本機」策略執行「編譯 //foo/bar/baz」,但是還原順序則會以「sandboxed」執行。
標記:execution
- 累積共計
--worker_extra_flag=<a 'name=value' assignment>
次 -
除了 --persistent_worker 之外,還會傳遞給工作站程序的額外指令標記,這些指令將由 Neemonic 建立索引鍵 (例如 --worker_extra_flag=Javac=--debug。
標記:execution
、host_machine_resource_optimizations
- 累積共計
--worker_max_instances=<[name=]value, where value is an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
次 -
採用「worker」策略時,可能會啟動工作站程序的執行個體 (例如永久的 Java 編譯器) 數量。您可以指定 [name=value] 來為每個工作站解釋提供不同的值。使用整數或關鍵字 ("auto"、"HOST_CPUS"、"HOST_RAM"),並視需要加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據機器處理能力計算合理的預設值。「=value」會設定未指定的助學方法的預設值。
標記:execution
、host_machine_resource_optimizations
- 累積共計
--worker_max_multiplex_instances=<[name=]value, where value is an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
次 -
搭配 --experimental_worker_multiplex 使用「worker」策略時,可能會同時收到多工工作站程序的 WorkRequest 數量。您可以指定 [name=value] 來為每個工作站解釋提供不同的值。使用整數或關鍵字 ("auto"、"HOST_CPUS"、"HOST_RAM"),並視需要加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據機器處理能力計算合理的預設值。「=value」會設定未指定的助學方法的預設值。
標記:execution
、host_machine_resource_optimizations
--[no]worker_quit_after_build
預設值:「false」-
如果啟用這項功能,所有工作站會在建構完成後退出。
標記:execution
、host_machine_resource_optimizations
--[no]worker_sandboxing
預設值:「false」-
啟用後,工作站會在沙箱環境中執行。
標記:execution
--[no]worker_verbose
預設值:「false」- 啟用後,系統會在工作站啟動時輸出詳細訊息,關閉...
- 設定用於執行動作的工具鍊:
--[no]incompatible_disable_runtimes_filegroups
預設值:「false」-
已淘汰免人工管理。
標記:action_command_lines
、loading_and_analysis
、deprecated
、incompatible_change
--[no]incompatible_dont_emit_static_libgcc
預設值:「true」-
已淘汰免人工管理。
標記:action_command_lines
、loading_and_analysis
、deprecated
、incompatible_change
--[no]incompatible_linkopts_in_user_link_flags
預設值:「true」-
淘汰免人工管理標記。
標記:action_command_lines
、loading_and_analysis
、deprecated
、incompatible_change
- 控制指令輸出內容的選項:
--[no]build
預設值:「true」-
執行建構,這是正常的行為。指定 --nobuild 會導致建構作業在執行建構動作前停止,如果套件載入與分析階段順利完成,則傳回零;這個模式適用於測試這些階段。
標記:execution
、affects_outputs
--[no]experimental_run_validations
預設值:「true」-
請改用 --run_validations。
標記:execution
、affects_outputs
--[no]experimental_use_validation_aspect
預設值:「false」-
是否使用切面執行驗證動作 (用於測試平行處理)。
標記:execution
、affects_outputs
- 累積共計
--output_groups=<comma-separated list of options>
次 -
以半形逗號分隔的輸出群組名稱清單,每個名稱前方可視需要加上 + 或「-」。系統會將以 + 開頭的群組新增至預設的輸出群組組合,而前置字串為「-」的群組則會從預設組合中移除。如未為至少一個群組加上前置字串,系統會省略預設的輸出群組組合。舉例來說,--output_groups=+foo、+bar 會建構預設集合、foo 和 bar 的聯集,而 --output_groups=foo,bar 會覆寫預設設定,只建構 foo 和長條。
標記:execution
、affects_outputs
--[no]run_validations
預設值:「true」-
指出是否要在建構中執行驗證動作。請參閱 https://bazel.build/rules/rules#validation_actions
標記:execution
、affects_outputs
- 可讓使用者設定預期的輸出內容,而非影響其值的選項:
- 累積共計
--aspects=<comma-separated list of options>
次 - 要套用至頂層目標的面向清單 (以半形逗號分隔)。在清單中,如果 some_aspect 透過 required_aspect_providers 指定必要的展示提供者,some_aspect 前的所有元素會在廣告供應商符合 some_aspect 所需的長寬比供應商後執行。此外,some_aspect 會在需要屬性中指定的所有必要切面後執行。some_aspect 隨後即可存取這些供應商的值。<bzl-file-label>%<aspect_name>,例如「//tools:my_def.bzl%my_aspect」,其中「my_aspect」是檔案工具/my_def.bzl 中的頂層值
--bep_maximum_open_remote_upload_files=<an integer>
預設值:「-1」-
上傳 BEP 構件時允許的開啟檔案數量上限。
標記:affects_outputs
--[no]experimental_convenience_symlinks
預設值:「正常」-
這個標記可控制便利的符號連結 (建構完成後在工作區中顯示的符號連結) 的管理方式。可能的值:一般 (預設值):視版本而定,系統會建立或刪除每種類型的便利符號連結。clean:系統會無條件刪除所有符號連結。
ignore:符號連結將單獨保留。
log_only:產生記錄訊息時就好像傳遞「一般」,但實際上不執行任何檔案系統作業 (適合工具使用)。
請注意,只有名稱由目前 --symlink_prefix 目前值產生的符號連結才會受到影響;如果前置字元有所變更,既有符號連結將只會保留。
標記:affects_outputs
--[no]experimental_convenience_symlinks_bep_event
預設值:「false」-
這個標記可控制是否要將建構 eventConvenienceSymlinksIdentified 發布至 BuildEventProtocol。如果值為 true,BuildEventProtocol 將有一個項目 for 時代 SymlinksIdentified,列出您在工作區中建立的所有便利符號連結。如果為 false,則 BuildEventProtocol 中的便利 SymlinksIdentified 項目將為空白。
標記:affects_outputs
- 累積共計
--experimental_multi_cpu=<comma-separated list of options>
次 - :已淘汰,免人工管理。
標記:affects_outputs
、experimental
--remote_download_minimal
-
系統不會將任何遠端建構輸出內容下載至本機電腦。此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=minimal。
展開為:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=minimal
標記:affects_outputs
--remote_download_outputs=<all, minimal or toplevel>
預設值:「全部」-
如果設為「minimal」,系統不會將任何遠端建構輸出內容下載至本機電腦,但本機動作所需的輸出內容除外。如果設為「頂層」,運作原理就像是「最低」,但同時會將頂層目標的輸出內容下載至本機電腦。如果網路頻寬會造成瓶頸,這兩種選項可以大幅縮短建構時間。
標記:affects_outputs
--remote_download_symlink_template=<a string>
預設值:「」-
建立符號連結,而不要將遠端建構輸出內容下載到本機電腦。符號連結的目標可以使用範本字串的形式指定。這個範本字串可能包含 {hash} 和 {size_bytes},這些字串會分別展開至物件的雜湊和大小 (以位元組為單位)。例如,這些符號連結可能會指向可以隨選載入 CAS 物件的 FUSE 檔案系統。
標記:affects_outputs
--remote_download_toplevel
-
只將頂層目標的遠端輸出內容下載到本機電腦,此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=toplevel。
展開為:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=toplevel
標記:affects_outputs
--symlink_prefix=<a string>
預設值:查看說明-
在建構後建立的任何便利符號連結之前,加在前面的前置字串。如果省略,預設值為建構工具的名稱後面加上連字號。如果傳送「/」,系統就不會建立任何符號連結,也不會顯示警告。警告:「/」的特殊功能即將淘汰,請改用 --experimental_convenience_symlinks=ignore。
標記:affects_outputs
- 這些選項會影響 Bazel 嚴格強制執行有效建構輸入 (規則定義、標記組合等) 的方式:
--[no]experimental_docker_privileged
預設值:「false」-
啟用後,Bazel 會在執行動作時將 --privileged 標記傳送至「docker run」。您的建構作業可能需要這部分,但也可能降低完整性。
標記:execution
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
--[no]experimental_sandboxfs_map_symlink_targets
預設值:「false」-
如果為 True,請將指定為動作輸入的符號連結目標對應至沙箱。這項功能僅適用於解決錯誤規則,且這些規則本身並非自行解決,待所有這類規則都修正完畢之後,應予以移除。
標記:host_machine_resource_optimizations
、execution
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
--[no]incompatible_legacy_local_fallback
預設值:「true」-
如果設為 true,系統會啟用舊版隱含備用廣告從沙箱到本機策略。這個旗標最終會預設為 false,然後改為免人工管理。請改用 --strategy、--spawn_strategy 或 --dynamic_local_strategy 來設定備用選項。
標記:execution
、incompatible_change
- 累積共計
--sandbox_add_mount_pair=<a single path or a 'source:target' pair>
次 - 新增其他路徑配對,以便掛接在沙箱中。
標記:execution
- 累積共計
--sandbox_block_path=<a string>
次 -
針對沙箱動作,請禁止存取這個路徑。
標記:execution
--[no]sandbox_default_allow_network
預設值:「true」- 預設為允許動作存取網路;這不一定適用於所有沙箱實作方式。
--[no]sandbox_fake_hostname
預設值:「false」-
將目前的主機名稱變更為「localhost」,以便執行沙箱動作。
標記:execution
--[no]sandbox_fake_username
預設值:「false」-
針對沙箱動作,將目前的使用者名稱變更為「nobody」。
標記:execution
- 累積共計
--sandbox_writable_path=<a string>
次 -
如果是沙箱動作,請在沙箱中將現有目錄寫入 (如果沙箱機制支援這項功能,否則會遭到忽略)。
標記:execution
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- 用於控管測試環境或測試執行工具行為的選項:
--[no]check_tests_up_to_date
預設值:「false」-
不要執行測試,只要檢查工具是否為最新版本即可。如果所有測試結果均為最新結果,表示測試順利完成。如果需要建構或執行任何測試,系統會回報錯誤,且測試失敗。這個選項暗示 --check_up_to_date 行為。
標記:execution
- 累積共計
--flaky_test_attempts=<a positive integer, the string "default", or test_regex@attempts. This flag may be passed more than once>
次 -
如有任何測試失敗,每項測試都會重試指定次數。需要多次嘗試的測試會在測試摘要中標示為「FLAKY」。通常指定的值是整數或「default」字串。如果為整數,所有測試最多可能會執行 N 次。如果設為「default」,系統只會對一般測試和 3 次測試,並對其規則明確標示為不穩定 (flaky=1 屬性) 進行測試。替代語法:regex_filter@flaky_test_attempts。flaky_test_attempts 同上,而 regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --runs_per_test)。範例:--flaky_test_attempts=//foo/.*,-//foo/bar/.*@3 會降低 //foo/ 中的所有測試,但 foo/bar 底下的測試除外。這個選項可以多次傳遞。系統會優先採用最近傳遞的相符引數。如果沒有相符結果,行為就會與上述的「預設」一樣。
標記:execution
--local_test_jobs=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
並行執行的本機測試工作數量上限。使用整數或關鍵字 ("auto"、"HOST_CPUS"、"HOST_RAM"),並視需要加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。0 表示本機資源會改為同時執行的本機測試工作數量。如果設定的值大於 --jobs 的值,則不會造成效果。
標記:execution
--[no]test_keep_going
預設值:「true」-
如果停用這項設定,任何非通過測試都會導致整個版本停止。根據預設,即使部分測試未通過,所有測試仍會執行。
標記:execution
--test_strategy=<a string>
預設值:「」-
指定執行測試時要使用的策略。
標記:execution
--test_tmpdir=<a path>
預設值:查看說明- 指定「bazel test」要使用的基本暫存目錄。
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]announce
預設值:「false」- :已淘汰,免人工管理。
標記:affects_outputs
--[no]debug_spawn_scheduler
預設值:「false」--[no]experimental_bep_target_summary
預設值:「false」- 是否發布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets
預設值:「false」-
如果為 true,在顯示輸出檔案時,展開 BEP 中的檔案集。
標記:affects_outputs
--[no]experimental_build_event_fully_resolve_fileset_symlinks
預設值:「false」-
如果為 true,在顯示輸出檔案時,請完整解析 BEP 中的相對 Fileset 符號連結。需要 --experimental_build_event_expand_filesets。
標記:affects_outputs
--experimental_build_event_upload_max_retries=<an integer>
預設值:「4」-
Bazel 應重試上傳建構事件的次數上限。
標記:bazel_internal_configuration
--experimental_build_event_upload_retry_minimum_delay=<An immutable length of time.>
預設值:「1s」-
在 BEP 上傳失敗時,指數輪詢重試的最短延遲時間。(指數:1.6)
標記:bazel_internal_configuration
--experimental_build_event_upload_strategy=<a string>
預設值:查看說明-
選取如何上傳建構事件通訊協定中參照的構件。
標記:affects_outputs
--[no]experimental_collect_local_sandbox_action_metrics
預設值:「true」-
啟用後,系統會針對使用沙箱機制的本機執行動作記錄執行統計資料 (例如使用者和系統時間):
execution
--[no]experimental_docker_verbose
預設值:「false」-
如果啟用,Bazel 會輸出更詳細的 Docker 沙箱策略相關訊息。
標記:execution
--[no]experimental_materialize_param_files_directly
預設值:「false」-
如要具體化參數檔案,請透過直接寫入磁碟的方式執行。
標記:execution
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--experimental_repository_resolved_file=<a string>
預設值:「」-
如果非空白,請編寫 Starlark 值,並提供已執行的所有 Starlark 存放區規則解析資訊。
標記:affects_outputs
--[no]experimental_stream_log_file_uploads
預設值:「false」-
將記錄檔上傳直接串流至遠端儲存空間,而不是將這些檔案寫入磁碟。
標記:affects_outputs
--explain=<a path>
預設值:查看說明-
讓建構系統解釋建構的每個執行步驟。說明會寫入指定的記錄檔。
標記:affects_outputs
--[no]legacy_important_outputs
預設值:「true」-
使用這個欄位可隱藏 TargetComplete 事件中舊版 important_outputs 欄位的產生作業。Bazel 必須與 ResultStore 整合才能使用重要_outputs。
標記:affects_outputs
--[no]materialize_param_files
預設值:「false」-
即使使用遠端動作執行功能,也能將中繼參數檔案寫入輸出樹狀結構。在偵錯動作時相當實用。--subcommands 和 --verbose_failures 即可隱含。
標記:execution
--max_config_changes_to_show=<an integer>
預設值:「3」-
如果因建構選項變更而捨棄分析快取,最多可顯示指定的變更選項名稱數量。如果提供的數字為 -1,將顯示所有已變更選項。
標記:terminal_output
--max_test_output_bytes=<an integer>
預設值:「-1」-
指定當 --test_output 是「errors」或「all」時,每項測試記錄的大小上限。有助於避免過度雜訊的測試輸出來減輕輸出負擔。測試標頭會包含在記錄檔大小中。負值代表沒有限制。輸出內容可以是全部或全無內容。
標記:test_runner
、terminal_output
、execution
--output_filter=<a valid Java regular expression>
預設值:查看說明-
只有在規則名稱與所提供規則運算式相符的規則時,才會顯示警告。
標記:affects_outputs
--progress_report_interval=<an integer in 0-3600 range>
預設值:「0」-
執行中工作報表之間的秒數。預設值 0 表示第一份報表會在 10 秒後輸出,接著是 30 秒,之後報表會每分鐘回報一次。啟用 -- 曲線後,系統會每秒回報進度。
標記:affects_outputs
--remote_print_execution_messages=<failure, success or all>
預設值:「failure」-
選擇列印遠端執行訊息的時機。有效值為「failure」,僅顯示失敗時列印,「success」只會列印成功,而「all」則一律列印。
標記:terminal_output
--[no]sandbox_debug
預設值:「false」-
啟用沙箱功能的偵錯功能。這包括兩項工作:首先,在建構後,沙箱根內容不會更動 (使用沙箱時,檔案系統會保持掛接);第二,在執行時列印額外的偵錯資訊。這有助於 Bazel 或 Starlark 規則因缺少輸入檔案等而失敗偵錯。
標記:terminal_output
--show_result=<an integer>
預設值:「1」-
顯示建構結果。針對每個目標,指明其是否為最新,如果是的話,也請列出建構的輸出檔案清單。列印出來的檔案是方便複製的字串,只要複製並貼到殼層即可執行。這個選項需要一個整數引數,這是目標數量的閾值,此值不會列印結果資訊。因此,零會造成郵件抑制,而 MAX_INT 會導致系統一直列印結果。預設值為 1。
標記:affects_outputs
--[no]subcommands
[-s
] 預設值:「false」-
顯示建構期間執行的子指令。相關旗標:--execution_log_json_file, --execution_log_binary_file (用於將子指令記錄到適合工具格式的檔案)。
標記:terminal_output
--test_output=<summary, errors, all or streamed>
預設值:「摘要」-
指定所需的輸出模式。有效值會是「summary」,只能輸出測試狀態摘要;「errors」可列印失敗測試的測試記錄,「all」可即時輸出所有測試的記錄,而「streamed」則會即時輸出所有測試的記錄 (無論 --test_strategy 值為何,系統都會強制一次在本機執行測試)。
標記:test_runner
、terminal_output
、execution
--test_summary=<short, terse, detailed, none or testcase>
預設值:「short」-
指定測試摘要的所需格式。有效值是「short」只會輸出執行測試的相關資訊「terse」,僅顯示未執行測試的相關資訊;「detailed」列印失敗測試案例的詳細資訊,「testcase」列印失敗的測試案例摘要、不列印失敗測試案例的詳細資訊,而不使用「none」以省略摘要。
標記:terminal_output
--[no]verbose_explanations
預設值:「false」-
在啟用 --explain 時,系統會提高問題的詳細程度。如未啟用 --explain,將不會產生任何影響。
標記:affects_outputs
--[no]verbose_failures
預設值:「false」-
如果指令失敗,請輸出完整的指令列。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
- 累積共計
--aspects_parameters=<a 'name=value' assignment>
次 -
指定指令列方面參數的值。每個參數值都是透過 <param_name>=<param_value> 指定,例如「my_param=my_val」,其中 'my_param' 是 --spects list 或清單中某部分所需的參數。這個選項可以多次使用。不過,同一個參數只能指派一次值。
標記:loading_and_analysis
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
--target_pattern_file=<a string>
預設值:「」-
設定後,建構作業會從這裡命名的檔案讀取模式,而不是從指令列讀取模式。在這裡指定檔案和指令列模式會發生錯誤。
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_circuit_breaker_strategy=<failure>
預設值:查看說明-
指定斷路器要使用的策略。可用的策略「失敗」。選項的值無效時,系統不會設定該選項的行為。
標記:execution
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
--[no]experimental_guard_against_concurrent_changes
預設值:「false」- 關閉這項功能後,系統就不會在將動作上傳到遠端快取前,先檢查輸入檔案的時時檢查時間。在某些情況下,Linux kernel 會延遲寫入檔案,導致出現誤判狀況。
--experimental_remote_build_event_upload=<all or minimal>
預設值:「全部」- 如果設為「all」,BEP 參照的所有本機輸出都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出將不會上傳到遠端快取,除非是 BEP 使用者的重要檔案 (例如測試記錄和時間設定檔)。此外,即使遠端快取缺少這些檔案,系統仍會將 bytestream:// scheme 用於檔案 URI。 預設為「all」。
--[no]experimental_remote_cache_async
預設值:「false」- 如果為 true,系統會在背景中執行遠端快取 I/O,而不會做為產生作業的一部分進行。
--[no]experimental_remote_cache_compression
預設值:「false」- 如果已啟用,請使用 zstd 來壓縮/解壓縮快取 blob。
--experimental_remote_cache_eviction_retries=<an integer>
預設值:「0」-
如果版本發生遠端快取撤銷錯誤,重試次數上限。如果值不是零,系統會以隱含方式將 --incompatible_remote_use_new_exit_code_for_lost_inputs 設為 true。系統會為每次嘗試產生新的叫用 ID。若您產生叫用 ID 並使用 --invocation_id 提供給 Bazel,則請勿使用此標記。請改為設定 --incompatible_remote_use_new_exit_code_for_lost_inputs,並檢查是否有結束代碼 39。
標記:execution
--experimental_remote_capture_corrupted_outputs=<a path>
預設值:查看說明- 用於擷取損毀輸出內容的目錄路徑。
--[no]experimental_remote_discard_merkle_trees
預設值:「false」- 如果設為 true,在呼叫 GetActionResult() 和 Execute() 時,捨棄輸入根樹狀結構的 Merkle 樹狀結構和相關聯的輸入對應記憶體內副本。這可大幅降低記憶體用量,但 Bazel 會在遠端快取失敗及重試時重新計算記憶體用量。
--experimental_remote_downloader=<a string>
預設值:查看說明- Remote Asset API 端點 URI,可做為遠端下載 Proxy 使用。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。詳情請參閱:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_downloader_local_fallback
預設值:「false」- 如果遠端下載工具失敗,是否要改回本機下載工具。
--[no]experimental_remote_execution_keepalive
預設值:「false」- 是否要針對遠端執行呼叫使用 Keepalive。
--experimental_remote_failure_rate_threshold=<an integer in 0-100 range>
預設值:「10」-
設定特定時間範圍的失敗率 (百分比),超過該值後就會停止呼叫遠端快取/執行程式。預設值為 10。將這個值設為 0 表示沒有限制。
標記:execution
--experimental_remote_failure_window_interval=<An immutable length of time.>
預設值:「60 秒」-
計算遠端要求失敗率的間隔時間。如果值為 0 或負數,則會計算失敗持續時間的整個期間。您可以使用下列單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
標記:execution
--[no]experimental_remote_mark_tool_inputs
預設值:「false」- 如果設為 True,Bazel 會將輸入內容標示為遠端執行器的工具輸入內容。這可用於實作遠端永久工作站。
--[no]experimental_remote_merkle_tree_cache
預設值:「false」- 如果設為 True,系統會記下 Merkle 樹狀圖的計算結果,以改善遠端快取命中檢查的速度。快取的記憶體足跡是由 --experimental_remote_merkle_tree_cache_size 控管。
--experimental_remote_merkle_tree_cache_size=<a long integer>
預設值:「1000」- 要提高遠端快取命中檢查速度的 Merkle 樹狀結構數量。即使快取會根據 Java 處理軟參照的方式自動截斷,如果設定過高,也可能會發生記憶體不足錯誤。如果設為 0,則快取大小則沒有限制。最佳值會因專案大小而異。預設值為 1000。
--[no]experimental_remote_require_cached
預設值:「false」- 如果設為 True,強制系統只快取可從遠端執行的所有動作,否則建構會失敗。這有助於解決非確定性問題,因為可以檢查系統是否應該快取要快取的動作,而不會明確將新結果插入快取。
--[no]incompatible_remote_build_event_upload_respect_no_cache
預設值:「false」- 如果設為 true,BEP 參照的輸出內容就不會上傳到遠端快取,但若無法從遠端快取產生的動作。
--[no]incompatible_remote_downloader_send_all_headers
預設值:「true」-
指定是否將多值標頭的所有值 (而非第一個) 傳送至遠端下載工具。
標記:incompatible_change
--[no]incompatible_remote_output_paths_relative_to_input_root
預設值:「false」-
如果設為 true,輸出路徑是相對於輸入根目錄,而不是工作目錄。
標記:incompatible_change
--[no]incompatible_remote_results_ignore_disk
預設值:「true」-
如果設為 True,--noremote_upload_local_results 和 --noremote_accept_cached 不會套用至磁碟快取。如果使用合併的快取:
--noremote_upload_local_results 會導致結果寫入磁碟快取,但不會將結果上傳至遠端快取。
--noremote_accept_cached 會導致 Bazel 檢查磁碟快取中的結果,但不會出現在遠端快取中。no-remote-exec 動作可以觸發磁碟快取。詳情請參閱 #8216。
標記:incompatible_change
--[no]incompatible_remote_use_new_exit_code_for_lost_inputs
預設值:「false」-
如果設為 True,如果遠端快取在建構期間清除 blob,Bazel 將使用新的結束代碼 39,而非 34。
標記:incompatible_change
--[no]remote_accept_cached
預設值:「true」- 是否接受遠端快取動作執行結果。
--remote_bytestream_uri_prefix=<a string>
預設值:查看說明- 要用於寫入建構事件串流的 bytestream:// URI 中的主機名稱和執行個體名稱。您可以在使用 Proxy 執行建構作業時設定這個選項,導致 --remote_executor 和 --remote_instance_name 的值不再對應至遠端執行服務的正規名稱。如未設定,則預設值為「${hostname}/${instance_name}」。
--remote_cache=<a string>
預設值:查看說明- 快取端點的 URI。支援的結構定義包括 http、https、grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc://、http:// 或 unix: 結構定義,以便停用 TLS。詳情請參閱 https://bazel.build/remote/caching
- 累積共計
--remote_cache_header=<a 'name=value' assignment>
次 - 指定要納入快取要求中的標頭:--remote_cache_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_default_exec_properties=<a 'name=value' assignment>
次 -
如果執行平台尚未設定 exec_properties,請設定預設的 exec 屬性做為遠端執行平台。
標記:affects_outputs
--remote_default_platform_properties=<a string>
預設值:「」- 如果執行平台尚未設定 Remote_execution_properties,請設定遠端執行 API 的預設平台屬性。如果已選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
- 累積共計
--remote_downloader_header=<a 'name=value' assignment>
次 - 指定遠端下載工具要求的標頭:--remote_downloader_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_exec_header=<a 'name=value' assignment>
次 - 指定要納入執行要求中的標頭:--remote_exec_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_execution_priority=<an integer>
預設值:「0」- 要從遠端執行的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_executor=<a string>
預設值:查看說明- 遠端執行端點的主機或主機:PORT。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc:// 或 unix:要停用 TLS 的結構定義。
--remote_grpc_log=<a path>
預設值:查看說明- 如有指定,用於記錄 gRPC 呼叫相關詳細資料的檔案路徑。這個記錄包含序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobufs 序列,每則訊息前綴都是以 varint 表示下列序列化 protobuf 訊息的大小,如 LogEntry.writeDelimitedTo(OutputStream) 方法所執行。
- 累積共計
--remote_header=<a 'name=value' assignment>
次 - 指定要納入要求中的標頭:--remote_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_instance_name=<a string>
預設值:「」- 在遠端執行 API 中傳遞為 instance_name 的值。
--[no]remote_local_fallback
預設值:「false」- 如果遠端執行失敗,是否要改回使用獨立的本機執行策略。
--remote_local_fallback_strategy=<a string>
預設值:「local」- 免人工管理,已淘汰。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7480。
--remote_max_connections=<an integer>
預設值:「100」-
限制遠端快取/執行工具的並行連線數量上限。預設值為 100。將這個值設為 0 表示沒有限制。以 HTTP 遠端快取來說,一個 TCP 連線一次可處理一個要求,因此 Bazel 最多可以處理 --remote_max_connections 並行要求。就 gRPC 遠端快取/執行工具而言,一個 gRPC 管道通常可以處理超過 100 個並行要求,因此 Bazel 可以大約處理「--remote_max_connections * 100」並行要求。
標記:host_machine_resource_optimizations
--remote_proxy=<a string>
預設值:查看說明- 透過 Proxy 連線至遠端快取。這個旗標目前只能用來設定 Unix 網域通訊端 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer>
預設值:「0」- 將遠端動作儲存在遠端快取中的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_retries=<an integer>
預設值:「5」- 重試暫時錯誤的次數上限。如果設為 0,重試功能就會停用。
--remote_retry_max_delay=<An immutable length of time.>
預設值:「5 秒」- 遠端重試之間的輪詢延遲時間上限。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--remote_timeout=<An immutable length of time.>
預設值:「60 秒」- 等待遠端執行和快取呼叫的時間上限。如果是 REST 快取,這是指連線和讀取逾時。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--[no]remote_upload_local_results
預設值:「true」- 如果遠端快取支援這項功能,且使用者已獲授權,是否要將本機執行的動作結果上傳至遠端快取。
--[no]remote_verify_downloads
預設值:「true」- 如果設為 True,Bazel 會計算所有遠端下載項目的雜湊總和,如果值與預期值不符,就會捨棄遠端快取的值。
- 其他選項,未分類。
--[no]allow_analysis_cache_discard
預設值:「true」-
如果因建構系統變更而捨棄分析快取,將這個選項設為 false 將會導致 Bazel 結束,而非繼續建構。如果同時設定了「discard_analysis_cache」,這個選項就不會有任何作用。
標記:eagerness_to_exit
--auto_output_filter=<none, all, packages or subpackages>
預設值:「無」- 如未指定 --output_filter,系統會使用這個選項的值自動建立篩選器。允許的值為「無」(不篩選任何內容 / 顯示所有項目)、「全部」(篩選所有項目 / 不顯示任何內容)、「套件」(包含 Blaze 指令列中套件規則的輸出內容) 和「子套件」(例如「套件」,但也包含子套件)。對於「packages」和「subpackages」值, //java/foo 和 //javatests/foo 則視為單一套件)。
--[no]build_manual_tests
預設值:「false」- 強制建構標記為「手動」的測試目標。「手動」測試不在處理範圍內。這個選項會強制系統建構這些 Pod,但不會執行。
--build_tag_filters=<comma-separated list of options>
預設值:「」- 指定以逗號分隔的標記清單。您可視需要為每個標記加上「-」符號,以指定排除的標記。系統只會建立這些目標,其中含有至少一個已納入的代碼,且不含任何已排除的代碼。這個選項不會影響使用「test」指令執行的測試組合;這些選項會受到測試篩選選項的規範,例如「--test_tag_filters」
--[no]build_tests_only
預設值:「false」- 如果指定的話,系統只會建立 *_test 和 test_suite 規則,並忽略指令列中指定的其他目標。根據預設,系統會建構所有要求的內容。
--combined_report=<none or lcov>
預設值:「無」- 指定所需的累計涵蓋率報表類型。目前僅支援 LCOV。
--[no]compile_one_dependency
預設值:「false」- 編譯引數檔案的單一依附元件。這適用於檢查 IDE 中原始碼檔案的語法,例如重建依附來源檔案的單一目標,在編輯/建構/測試循環中盡早偵測錯誤。此引數會影響所有非旗標引數的解譯方式,而要建構的目標則是來源檔案名稱。系統會為每個來源檔案名稱建立一個必要的目標。
- 累積共計
--credential_helper=<Path to a credential helper. It may be absolute, relative to the PATH environment variable, or %workspace%-relative. The path be optionally prefixed by a scope followed by an '='. The scope is a domain name, optionally with a single leading '*' wildcard component. A helper applies to URIs matching its scope, with more specific scopes preferred. If a helper has no scope, it applies to every URI.>
次 - 設定憑證輔助程式,以便擷取用於擷取存放區、遠端快取和執行的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 --google_default_credentials、--google_credentials、.netrc 檔案,或是 repo_ctx.download 和 repository_ctx.download_and_extract 提供的憑證。 可以指定多次輔助程式。 詳情請參閱 https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md。
--credential_helper_cache_duration=<An immutable length of time.>
預設值:「30m」- 快取由憑證輔助程式提供的憑證的時間長度。 以不同的值叫用會調整現有項目的生命週期,傳回零即可清除快取。無論這個標記為何,乾淨的指令一律會清除快取。
--credential_helper_timeout=<An immutable length of time.>
預設值:「10 秒」- 設定憑證輔助程式的逾時時間。 憑證輔助程式若未在逾時期限內回應,會導致叫用失敗。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
--[no]discard_analysis_cache
預設值:「false」- 分析階段完成後,請立即捨棄分析快取。可將記憶體用量減少約 10%,但進一步漸進式建構,速度會較慢。
--disk_cache=<a path>
預設值:查看說明- Bazel 可讀取及寫入動作,以及動作輸出的目錄路徑。如果目錄不存在,系統將建立該目錄。
--embed_label=<a one-line string>
預設值:「」- 在二進位檔中嵌入來源控制修訂版本或版本標籤
--execution_log_binary_file=<a path>
預設值:查看說明- 根據 src/main/protobuf/spawn.proto,將已執行產生的程式碼記錄為分隔的 Spawn 原型。記錄會先未排序,接著在叫用結束時按照穩定順序排序 (可能會耗用大量 CPU 和記憶體)。相關旗標:--execution_log_json_file (排序的文字 json 格式)、--experimental_execution_log_file (未排序的二進位 protobuf 格式)、--sub 指令 (用於在終端機輸出內容中顯示子指令)。
--execution_log_json_file=<a path>
預設值:查看說明- 根據 src/main/protobuf/spawn.proto,將已執行產生的程式碼記錄為已分隔的 Spawn proto 的 JSON 表示法。記錄會先未排序,接著在叫用結束時按照穩定順序排序 (可能會耗用大量 CPU 和記憶體)。相關旗標:相關旗標:--execution_log_binary_file (排序的二進位 protobuf 格式)、--experimental_execution_log_file (未排序的二進位 protobuf 格式)、--sub 指令 (用於在終端機輸出中顯示子指令)。
--[no]execution_log_sort
預設值:「true」- 是否要排序執行記錄檔。設為 false 可提高記憶體效能,但代價是產生記錄。
--[no]expand_test_suites
預設值:「true」-
在分析前,將 test_suite 目標加入其組成測試。此標記啟用 (預設) 時,排除目標模式會套用至測試套件內的測試,否則將不會套用。如果在指令列套用頂層切面,關閉此旗標會非常實用,這樣即可分析 test_suite 目標。
標記:loading_and_analysis
--experimental_execution_log_file=<a path>
預設值:查看說明- 根據 src/main/protobuf/spawn.proto,將已執行產生的程式碼記錄為分隔的 Spawn 原型。這個檔案是依照 Spawns 執行的順序編寫。相關旗標:--execution_log_binary_file (排序的二進位 protobuf 格式)、--execution_log_json_file (排序的文字 json 格式)、--subcommands (用於在終端機輸出中顯示子指令)。
--[no]experimental_execution_log_spawn_metrics
預設值:「false」- 在執行的生成記錄中加入產生的指標。
--experimental_extra_action_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:「」- 以切面方式已淘汰,用來為 extra_actions 排定目標的篩選條件組合。
--[no]experimental_extra_action_top_level_only
預設值:「false」- 以切面方式已淘汰。建議您只為頂層目標排定 extra_actions。
--[no]experimental_prioritize_local_actions
預設值:「true」-
如果已設定,系統會先找出只能在本機執行的動作,取得資源、以動態方式執行工作站兩次,並採用動態執行的獨立動作。
標記:execution
--experimental_spawn_scheduler
-
在本機和遠端同時執行動作,啟用動態執行功能。Bazel 會在本機和遠端產生每個動作,並選擇最先完成的動作。如果動作支援 worker,本機動作就會在永久工作站模式中執行。如要為個別動作助詞啟用動態執行功能,請改用「--internal_spawn_scheduler」和「--strategy=<mnemonic>=dynamic」旗標。
展開至:
--internal_spawn_scheduler
--spawn_strategy=dynamic
--google_auth_scopes=<comma-separated list of options>
預設值:「https://www.googleapis.com/auth/cloud-platform」- 以半形逗號分隔的 Google Cloud 驗證範圍清單。
--google_credentials=<a string>
預設值:查看說明- 指定要從中取得驗證憑證的檔案。詳情請參閱 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials
預設值:「false」- 是否要使用「Google 應用程式預設憑證」進行驗證。詳情請參閱 https://cloud.google.com/docs/authentication。預設為停用。
--grpc_keepalive_time=<An immutable length of time.>
預設值:查看說明- 設定傳出 gRPC 連線的保持運作連線偵測 (ping)。如果設定這個值,Bazel 會在連線沒有讀取作業的這段時間過後,傳送連線偵測 (ping),但只有在至少有一個待處理的 gRPC 呼叫時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。根據預設,系統會停用保持運作的連線偵測 (ping)。您必須先與服務擁有者協調,再啟用這項設定。舉例來說,如要將此旗標設為 30 秒,則應設為 --grpc_keepalive_time=30s
--grpc_keepalive_timeout=<An immutable length of time.>
預設值:「20 秒」- 設定傳出 gRPC 連線的保持運作逾時。如果保持運作中的連線偵測 (ping) 已啟用 --grpc_keepalive_time,那麼如果 Bazel 過了這段時間過後仍未收到連線偵測 (ping) 回覆,Bazel 就會逾時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
--[no]ignore_unsupported_sandboxing
預設值:「false」- 當這個系統不支援沙箱執行作業時,請勿列印警告。
--[no]incompatible_dont_use_javasourceinfoprovider
預設值:「false」-
免人工管理
標記:incompatible_change
--local_cpu_resources=<an integer, or "HOST_CPUS", optionally followed by [-|*]<float>.>
預設值:「HOST_CPUS」- 明確設定可供 Bazel 使用的本機 CPU 核心總數,以便用於在本機執行的建構動作。使用整數或「HOST_CPUS」,您可以視需要加上 [-|*]<float> (例如HOST_CPUS*.5 會使用一半的可用 CPU 核心。根據預設,Bazel 會查詢系統設定來預估可用的 CPU 核心數量。
- 累積共計
--local_extra_resources=<a named float, 'name=value'>
次 - 設定 Bazel 可用的額外資源數量。採用字串浮點值。可用於多次指定多種類型的額外資源。Bazel 會根據可用的額外資源和額外資源,限制並行執行的操作。測試可以使用「resources:<resoucename>:<amount>」格式的標記來宣告需要的額外資源數量。無法使用此旗標設定可用的 CPU、RAM 和資源。
--local_ram_resources=<an integer, or "HOST_RAM", optionally followed by [-|*]<float>.>
預設值:「HOST_RAM*.67」- 明確設定可供 Bazel 使用的本機主機 RAM 總量 (以 MB 為單位),以便支出在本機執行的建構動作。使用整數或「HOST_RAM」,可視需要加上 [-|*]<float> (例如HOST_RAM*.5 即可使用一半的可用 RAM)。根據預設 (「HOST_RAM*.67」),Bazel 會查詢系統設定來預估可用的 RAM 容量,並會使用 67% 的 RAM。
--local_termination_grace_seconds=<an integer>
預設值:「15」- 因逾時而終止本機程序,到強制關閉本機程序之間的等待時間。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
--test_lang_filters=<comma-separated list of options>
預設值:「」- 指定以逗號分隔的測試語言清單。每種語言都可以視需要在前面加上「-」來指定排除的語言。只有這些測試目標會以指定語言寫成。每種語言使用的名稱應與 *_test 規則中的語言前置字元相同,例如其中一個「cc」、「java」、「py」等等。這個選項會影響 --build_tests_only 行為和測試指令。
--test_size_filters=<comma-separated list of values: small, medium, large or enormous>
預設值:「」- 指定測試大小的逗號分隔清單。您可視需要為每個大小加上「-」符號,以指定排除的大小。只有這些測試目標包含至少一個內含大小,且不包含任何排除大小。這個選項會影響 --build_tests_only 行為和測試指令。
--test_tag_filters=<comma-separated list of options>
預設值:「」- 指定以逗號分隔的測試標記清單。您可視需要為每個標記加上「-」符號,以指定排除的標記。系統只會找到這些測試目標,其中含有至少一個已納入的代碼,且未包含任何排除的代碼。這個選項會影響 --build_tests_only 行為和測試指令。
--test_timeout_filters=<comma-separated list of values: short, moderate, long or eternal>
預設值:「」- 指定測試逾時的逗號分隔清單。您可以選擇在每個逾時前面加上「-」來指定排除的逾時。只有這些測試目標包含至少一個包含的逾時設定,而且不包含任何排除的逾時值。這個選項會影響 --build_tests_only 行為和測試指令。
--tls_certificate=<a string>
預設值:查看說明- 指定受信任的 TLS 憑證路徑,該憑證可簽署伺服器憑證。
--tls_client_certificate=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端憑證;您也需要提供用戶端金鑰來啟用用戶端驗證功能。
--tls_client_key=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端金鑰,也需要提供用戶端憑證來啟用用戶端驗證功能。
--workspace_status_command=<path>
預設值:「」- 建構開始時叫用的指令,以鍵/值組合的形式提供工作區的狀態資訊。請參閱《使用者手冊》瞭解完整規格。另請參閱 tools/buildstamp/get_workspace_status 的範例。
- 控制建構執行作業的選項:
--[no]check_up_to_date
預設值:「false」-
請勿執行建構,只要檢查其是否為最新版本即可。如果所有目標皆為最新狀態,就表示建構作業順利完成。如果需要執行某個步驟的錯誤,系統會回報該錯誤,且建構失敗。
標記:execution
--[no]experimental_inprocess_symlink_creation
預設值:「false」-
是否可以直接呼叫檔案系統來建立符號連結樹狀結構
標記:loading_and_analysis
、execution
、experimental
--[no]experimental_remotable_source_manifests
預設值:「false」-
是否使來源資訊清單動作可循環變
標記:loading_and_analysis
、execution
、experimental
--[no]experimental_split_coverage_postprocessing
預設值:「false」-
如果為 true,Bazel 會在新產生時執行涵蓋率後置處理,以便進行測試。
標記:execution
--[no]experimental_split_xml_generation
預設值:「true」-
如果設定了這個標記,且測試動作不會產生 test.xml 檔案,Bazel 便會透過另外的動作產生包含測試記錄的虛擬 test.xml 檔案。否則,Bazel 會在測試動作中產生 test.xml。
標記:execution
--[no]experimental_strict_fileset_output
預設值:「false」-
如果啟用這個選項,檔案集會將所有輸出構件視為一般檔案。不會掃遍目錄,也不會對符號連結產生敏感內容。
標記:execution
--genrule_strategy=<comma-separated list of options>
預設值:「」-
指定 genrules 的執行方式。這項旗標將遭到淘汰。請改用 --spawn_strategy=<value> 控制所有動作,或使用 --strategy=Genrule=<value> 只控管 Genrules。
標記:execution
--jobs=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
[-j
] 預設值:「auto」-
要執行的並行工作數量。使用整數或關鍵字 ("auto"、"HOST_CPUS"、"HOST_RAM"),並視需要加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。值必須介於 1 到 5000 之間。超過 2500 的值可能會導致記憶體問題。「auto」會根據主機資源計算合理的預設值。
標記:host_machine_resource_optimizations
、execution
--[no]keep_going
[-k
] 預設值:「false」-
發生錯誤後請盡可能繼續。雖然無法分析失敗的目標和依附於該目標的部分,但可以採用這些目標的其他必要條件。
標記:eagerness_to_exit
--loading_phase_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
用於載入/分析階段的平行執行緒數量。可使用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要在後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據主機資源設定合理的預設值。不得小於 1,
標記:bazel_internal_configuration
--modify_execution_info=<regex=[+-]key,regex=[+-]key,...>
預設值:「」-
根據動作記憶機制,在動作的執行資訊中新增或移除鍵。僅適用於支援執行資訊的動作。許多常見動作都支援執行資訊,例如 Genrule、CppCompile、Javac、StarlarkAction、TestRunner。指定多個值時,順序很重要,因為許多規則運算式可能會套用到同一項記憶。
語法:"regex=[+-]key,regex=[+-]key,..."。
範例:
「.*=+x,.*=-y,.*=+z」會將「x」和「z」加入,並將「y」從所有動作的執行資訊中移除。
「Genrule=+requires-x」會在所有 Genrule 動作的執行資訊中加入「requires-x」。「(?!Genrule).*=-requires-x」會從所有非規則化動作的執行資訊中移除「requires-x」。
標記:execution
、affects_outputs
、loading_and_analysis
--persistent_android_dex_desugar
-
使用 worker 啟用永久 Android dex 和 desugar 操作。
展開為:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker
--strategy=DexBuilder=worker
標記:host_machine_resource_optimizations
、execution
--persistent_android_resource_processor
-
使用工作站啟用永久 Android 資源處理器。
展開為:
--internal_persistent_busybox_tools
--strategy=AaptPackage=worker
--strategy=AndroidResourceParser=worker
--strategy=AndroidResourceValidator=worker
--strategy=AndroidResourceCompiler=worker
--strategy=RClassGenerator=worker
--strategy=AndroidResourceLink=worker
--strategy=AndroidAapt2=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=AndroidAssetMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=AARGenerator=worker
host_machine_resource_optimizations
execution
--persistent_multiplex_android_dex_desugar
-
使用 worker 啟用永久的多工處理 Android dex 和解糖操作。
展開為:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar
標記:host_machine_resource_optimizations
、execution
--persistent_multiplex_android_resource_processor
-
使用工作站啟用永久的多工架構 Android 資源處理器。
展開為:
--persistent_android_resource_processor
--modify_execution_info=AaptPackage=+supports-multiplex-workers
--modify_execution_info=AndroidResourceParser=+supports-multiplex-workers
--modify_execution_info=AndroidResourceValidator=+supports-multiplex-workers
--modify_execution_info=AndroidResourceCompiler=+supports-multiplex-workers
--modify_execution_info=RClassGenerator=+supports-multiplex-workers
--modify_execution_info=AndroidResourceLink=+supports-multiplex-workers
--modify_execution_info=AndroidAapt2=+supports-multiplex-workers
--modify_execution_info=AndroidResourceMerger=+supports-multiplex-workers
--modify_execution_info=AndroidCompiledResourceMerger=+supports-multiplex-workers
--modify_execution_info=ManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AndroidAssetMerger=+supports-multiplex-workers
--modify_execution_info=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers
host_machine_resource_optimizations
execution
--persistent_multiplex_android_tools
- 啟用永久和多 X 技術的 Android 工具 (DEX 功能、脫糖、資源處理)。
展開為:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor
--persistent_multiplex_android_dex_desugar
標記:host_machine_resource_optimizations
、execution
--spawn_strategy=<comma-separated list of options>
預設值:「」-
指定產生的動作預設執行方式。接受以逗號分隔的策略清單 (從最高到最低)。Bazel 會針對每項動作選擇優先順序最高且可執行動作的策略。預設值為「remote,worker,sandboxed,local」。詳情請參閱 https://blog.bazel.build/2019/06/19/list-strategy.html。
標記:execution
- 累積共計
--strategy=<a '[name=]value1[,..,valueN]' assignment>
次 -
指定如何分配其他生成動作的編譯方式。接受以逗號分隔的策略清單 (從最高到最低)。Bazel 會針對每項動作選擇優先順序最高且可執行動作的策略。預設值為「remote,worker,sandboxed,local」。此旗標會覆寫 --spawn_strategy (如果與 mnemonic Genrule) 設定的值,以及 --genrule_strategy。詳情請參閱 https://blog.bazel.build/2019/06/19/list-strategy.html。
標記:execution
- 累積共計
--strategy_regexp=<a '<RegexFilter>=value[,value]' assignment>
次 -
覆寫要使用哪一個產生的策略,執行說明符合特定 regex_filter 條件的生成動作。如要進一步瞭解 regex_filter 比對功能,請參閱 --per_file_copt。並會使用第一個符合說明的 regex_filter。這個選項會覆寫其他用於指定策略的標記。範例:--strategy_regexp=//foo.*\.cc,-//foo/bar=local 是指在說明符合 //foo.*.cc 而非 //foo/bar 時,使用本地策略執行動作。範例:--strategy_regexp='Compiling.*/bar=local --strategy_regexp=Compiling=sandboxed 將使用「本機」策略執行「編譯 //foo/bar/baz」,但是還原順序則會以「sandboxed」執行。
標記:execution
- 設定用於執行動作的工具鍊:
--android_compiler=<a string>
預設值:查看說明-
Android 目標編譯器。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--android_crosstool_top=<a build target label>
預設值:"//external:android/crosstool"-
用於 Android 版本的 C++ 編譯器的位置。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_grte_top=<a label>
預設值:查看說明-
Android 目標 grte_top。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_manifest_merger=<legacy, android or force_android>
預設值:「android」-
選取用於 android_binary 規則的資訊清單合併工具。此標記可協助從舊版合併工具轉換至 Android 資訊清單合併工具。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--android_platforms=<a build target label>
預設值:「」-
設定 android_binary 目標使用的平台。如果指定了多個平台,二進位檔就是笨重的 APK,其中包含每個指定目標平台的原生二進位檔。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_sdk=<a build target label>
預設值:"@bazel_tools//tools/android:sdk"-
指定用於建構 Android 應用程式的 Android SDK/平台。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--apple_compiler=<a string>
預設值:查看說明-
Apple 目標編譯器。適合選取工具鍊的變化版本 (例如 xcode-beta)。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--apple_crosstool_top=<a build target label>
預設值:"@bazel_tools//tools/cpp:toolchain"-
要在 Apple 和 Objc 規則及其依附元件中使用的 Crosstool 套件標籤。
標記:loses_incremental_state
、changes_inputs
--apple_grte_top=<a build target label>
預設值:查看說明-
Apple 目標 grte_top。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--cc_output_directory_tag=<a string>
預設值:「」- 指定要新增至設定目錄的後置字串。
標記:affects_outputs
、explicit_in_output_path
--compiler=<a string>
預設值:查看說明- 用於編譯目標的 C++ 編譯器。
標記:loading_and_analysis
、execution
--coverage_output_generator=<a build target label>
預設值:"@bazel_tools//tools/test:lcov_merger"-
用於後處理原始涵蓋率報表的二進位檔位置。這目前必須是包含單一檔案 (也就是二進位檔案) 的檔案群組。預設值為「//tools/test:lcov_merger」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--coverage_report_generator=<a build target label>
預設值:"@bazel_tools//tools/test:coverage_report_generator"-
用於產生涵蓋率報表的二進位檔位置。這目前必須是包含單一檔案 (也就是二進位檔案) 的檔案群組。預設值為「//tools/test:coverage_report_generator」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--coverage_support=<a build target label>
預設值:"@bazel_tools//tools/test:coverage_support"-
針對收集程式碼涵蓋率的每項測試動作輸入內容,所需的支援檔案位置。預設值為「//tools/test:coverage_support」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--crosstool_top=<a build target label>
預設值:"@bazel_tools//tools/cpp:toolchain"-
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記:loading_and_analysis
、changes_inputs
、affects_outputs
--custom_malloc=<a build target label>
預設值:查看說明-
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記:changes_inputs
、affects_outputs
- 累積共計
--experimental_add_exec_constraints_to_targets=<a '<RegexFilter>=<label1>[,<label2>,...]' assignment>
次 -
以半形逗號分隔的規則運算式清單,每個運算式可視需要加上 - (排除運算式),指派 (=) 至清單,並以半形逗號分隔限制條件值目標。如果目標未比對到任何負數運算式,且至少有一個正運算式的解析作業,系統就會以其工具鍊解析為執行的條件,將限制值宣告為執行限制。例如://demo,-test=@platforms//cpus:x86_64 會將「x86_64」新增到 //demo 底下的任何目標中,但名稱含有「test」的字詞除外。
標記:loading_and_analysis
--[no]experimental_enable_objc_cc_deps
預設值:「true」-
允許 objc_* 規則依附 cc_library,並使用 --cpu 將 --ios_multi_cpu 中的值設為「ios_<--ios_cpu>」。
標記:loading_and_analysis
、incompatible_change
--[no]experimental_include_xcode_execution_requirements
預設值:「false」-
如果已設定,請為每個 Xcode 動作新增「requires-xcode:{version}」執行要求。如果 xcode 版本具有連字號標籤,請同時加入「requires-xcode-label:{version_label}」執行要求。
標記:loses_incremental_state
、loading_and_analysis
、execution
--[no]experimental_prefer_mutual_xcode
預設值:「true」-
如果為 true,請使用本機和遠端提供的最新 Xcode。如為 false,或是沒有共同可用的版本,請使用透過 xcode-select 選取的本機 Xcode 版本。
標記:loses_incremental_state
- 累積共計
--extra_execution_platforms=<comma-separated list of options>
次 -
可做為執行動作的執行平台。您可以採用確切目標或目標模式來指定平台。系統會先將這些平台視為 register_execution_platforms(),在 WORKSPACE 檔案內宣告的平台。
標記:execution
- 累積共計
--extra_toolchains=<comma-separated list of options>
次 -
在工具鍊解析期間要考慮的工具鍊規則。工具鍊可以用確切目標或目標模式指定。系統會先考慮這些工具鍊,才會透過 register_toolchains() 在 WORKSPACE 檔案中宣告的工具鍊。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--grte_top=<a label>
預設值:查看說明-
已簽入的 libc 程式庫的標籤。跨工具鍊會選取預設值,您幾乎不需要覆寫這個值。
標記:action_command_lines
、affects_outputs
--host_compiler=<a string>
預設值:查看說明-
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,則系統會忽略這個欄位。
標記:loading_and_analysis
、execution
--host_crosstool_top=<a build target label>
預設值:查看說明-
根據預設,--crosstool_top 和 --compiler 選項也可用於主機設定。如果提供此標記,Bazel 會針對指定的 crosstool_top 使用預設的 libc 和編譯器。
標記:loading_and_analysis
、changes_inputs
、affects_outputs
--host_grte_top=<a label>
預設值:查看說明-
如有指定,這項設定會覆寫主機設定的 libc 頂層目錄 (--grte_top)。
標記:action_command_lines
、affects_outputs
--host_platform=<a build target label>
預設值:「」-
說明主機系統的平台規則標籤。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--[no]incompatible_disable_expand_if_all_available_in_flag_set
預設值:「true」-
如果為 true,Bazel 就不會允許在 flag_sets 中指定 expand_if_all_available(如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7008)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_dont_enable_host_nonhost_crosstool_features
預設值:「true」-
如果為 true,Bazel 不會在 c++ 工具鍊中啟用「host」和「非主機」功能 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7407)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enable_android_toolchain_resolution
預設值:「false」-
使用工具鍊解析度選取 Android 規則適用的 Android SDK (Starlark 和原生)
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enable_apple_toolchain_resolution
預設值:「false」-
使用工具鍊解析功能選取 Apple SDK 做為 Apple 規則 (Starlark 和原生)
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_make_thinlto_command_lines_standalone
預設值:「true」-
如果為 true,Bazel 不會針對 lto 索引指令列重複使用 C++ 連結動作指令列 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/6791)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain
預設值:「true」-
如果設為 true,Bazel 會在設定 cc_toolchain.cpu 和 cc_toolchain.compiler 屬性時進行申訴 (如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7075)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_legacy_whole_archive
預設值:「true」-
如果設為 true,Bazel 預設不會將程式庫依附元件連結至整個封存檔 (如需遷移操作說明,請前往 https://github.com/bazelbuild/bazel/issues/7362)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_require_ctx_in_configure_features
預設值:「true」-
如果為 true,Bazel 會在 cc_common.configure_features 中要求「ctx」參數 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7793)。
標記:loading_and_analysis
、incompatible_change
-
如果工具鍊支援的話,請使用介面共用物件。所有 ELF 工具鍊目前都支援這項設定。
標記:loading_and_analysis
、affects_outputs
、affects_outputs
--ios_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 iOS 應用程式的 iOS SDK 版本。如未指定,則會使用「xcode_version」的預設 iOS SDK 版本。
標記:loses_incremental_state
--macos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 macOS 應用程式的 macOS SDK 版本。如未指定,則會使用「xcode_version」的預設 macOS SDK 版本。
標記:loses_incremental_state
--minimum_os_version=<a string>
預設值:查看說明-
編譯目標的最低 OS 版本。
標記:loading_and_analysis
、affects_outputs
--platform_mappings=<a relative path>
預設值:「」-
對應檔案位置,說明在未設定任何平台時要使用的平台,或是平台已存在時該設定哪些標記。必須與主要工作區根目錄相對。預設值為「platform_mappings」(位於工作區根目錄下的檔案)。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--platforms=<a build target label>
預設值:「」-
平台規則的標籤,說明目前指令的目標平台。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--python2_path=<a string>
預設值:查看說明-
已淘汰,免人工管理。已由「--incompatible_use_Python_toolchains」停用。
標記:no_op
、deprecated
--python3_path=<a string>
預設值:查看說明-
已淘汰,免人工管理。已由「--incompatible_use_Python_toolchains」停用。
標記:no_op
、deprecated
--python_path=<a string>
預設值:查看說明-
為在目標平台上執行 Python 目標而叫用的 Python 解譯器絕對路徑。已淘汰;已透過 --incompatible_use_python_toolchains 停用。
標記:loading_and_analysis
、affects_outputs
--python_top=<a build target label>
預設值:查看說明-
代表 Python 解譯器叫用的 py_runtime 標籤,以便在目標平台上執行 Python 目標。已淘汰;已透過 --incompatible_use_python_toolchains 停用。
標記:loading_and_analysis
、affects_outputs
--target_platform_fallback=<a build target label>
預設:"@local_config_platform//:host"-
如未設定目標平台,且沒有任何平台對應項目與目前的標記組合相符,則應使用的平台規則標籤。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--tvos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 tvOS 應用程式的 tvOS SDK 版本。如未指定,則會使用「xcode_version」的預設 tvOS SDK 版本。
標記:loses_incremental_state
--watchos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 watchOS 應用程式的 watchOS SDK 版本。如未指定,則會使用「xcode_version」的預設 watchOS SDK 版本。
標記:loses_incremental_state
--xcode_version=<a string>
預設值:查看說明-
如有指定,則會使用指定版本的 Xcode 執行相關建構動作。如未指定,則會使用 Xcode 的執行者預設版本。
標記:loses_incremental_state
--xcode_version_config=<a build target label>
預設值:"@bazel_tools//tools/cpp:host_xcodes"-
在建構設定中選取 Xcode 版本的 xcode_config 規則標籤。
標記:loses_incremental_state
、loading_and_analysis
- 控制指令輸出內容的選項:
--[no]apple_enable_auto_dsym_dbg
預設值:「false」-
指定是否要強制啟用 dbg 建構作業的偵錯符號 (.dSYM) 檔案。
標記:affects_outputs
、action_command_lines
--[no]apple_generate_dsym
預設值:「false」-
指定是否要產生偵錯符號檔案 (.dSYM)。
標記:affects_outputs
、action_command_lines
--[no]build
預設值:「true」-
執行建構,這是正常的行為。指定 --nobuild 會導致建構作業在執行建構動作前停止,如果套件載入與分析階段順利完成,則傳回零;這個模式適用於測試這些階段。
標記:execution
、affects_outputs
--[no]build_runfile_links
預設值:「true」-
如果為 true,請為所有目標建構執行檔案符號連結樹系。如果為 false,請盡可能僅寫入資訊清單。
標記:affects_outputs
--[no]build_runfile_manifests
預設值:「true」-
如果為 true,則會為所有目標寫入執行檔案資訊清單。如果設為 false,請略過這些字串。如果為 false,本機測試將無法執行。
標記:affects_outputs
--[no]build_test_dwp
預設值:「false」-
如果啟用,當以靜態方式建構 C++ 測試及進行斷言時,系統也會自動建構測試二進位檔的 .dwp 檔案。
標記:loading_and_analysis
、affects_outputs
--cc_proto_library_header_suffixes=<comma-separated list of options>
預設值:「.pb.h」-
可設定 cc_proto_library 建立的標題檔案的前置字串。
標記:affects_outputs
、loading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated list of options>
預設值:「.pb.cc」-
設定 cc_proto_library 建立的來源檔案前置字串。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_proto_descriptor_sets_include_source_info
預設值:「false」-
在 proto_library 中針對替代 Java API 版本執行額外操作。
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_proto_extra_actions
預設值:「false」-
在 proto_library 中針對替代 Java API 版本執行額外操作。
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_run_validations
預設值:「true」-
請改用 --run_validations。
標記:execution
、affects_outputs
--[no]experimental_save_feature_state
預設值:「false」-
將已啟用和要求功能的狀態儲存為編譯的輸出內容。
標記:affects_outputs
、experimental
--[no]experimental_use_validation_aspect
預設值:「false」-
是否使用切面執行驗證動作 (用於測試平行處理)。
標記:execution
、affects_outputs
--fission=<a set of compilation modes>
預設值:「否」-
指定哪些編譯模式會使用 C++ 編譯和連結的 Fision。可以使用 {'fastbuild'、'dbg'、'opt'} 的任意組合或特殊值「yes」來啟用所有模式,而「no」則可停用所有模式。
標記:loading_and_analysis
、action_command_lines
、affects_outputs
--[no]incompatible_always_include_files_in_data
預設值:「true」-
如果設為 True,原生規則會在 runfile 中新增資料依附元件 <code>DefaultInfo.files</code>,以符合 Starlark 規則的建議行為 (https://bazel.build/extending/rules#runfiles_features_to_avoid)。
標記:affects_outputs
、incompatible_change
--[no]legacy_external_runfiles
預設值:「true」-
如果為 true,則除了 .runfiles/repo 之外,也為外部存放區建構 .runfiles/wsname/external/repo 下的外部存放區的 runfiles 符號連結樹系。
標記:affects_outputs
--[no]objc_generate_linkmap
預設值:「false」-
指定是否要產生連結對應檔案。
標記:affects_outputs
- 累積共計
--output_groups=<comma-separated list of options>
次 -
以半形逗號分隔的輸出群組名稱清單,每個名稱前方可視需要加上 + 或「-」。系統會將以 + 開頭的群組新增至預設的輸出群組組合,而前置字串為「-」的群組則會從預設組合中移除。如未為至少一個群組加上前置字串,系統會省略預設的輸出群組組合。舉例來說,--output_groups=+foo、+bar 會建構預設集合、foo 和 bar 的聯集,而 --output_groups=foo,bar 會覆寫預設設定,只建構 foo 和長條。
標記:execution
、affects_outputs
--[no]run_validations
預設值:「true」-
指出是否要在建構中執行驗證動作。請參閱 https://bazel.build/rules/rules#validation_actions
標記:execution
、affects_outputs
--[no]save_temps
預設值:「false」-
設定後,系統會儲存 gcc 的臨時輸出內容。包括 .s 檔案 (組合程式碼)、.i 檔案 (預先處理的 C) 和 .ii 檔案 (預先處理的 C++)。
標記:affects_outputs
- 這些選項可讓使用者設定預期的輸出內容,而不是影響其值:
- 累積共計
--action_env=<a 'name=value' assignment with an optional value part>
次 -
指定動作設定可用的環境變數組合。您可以透過名稱指定變數,在這種情況下,系統會擷取叫用環境的值,也可以由 name=value 組合指定變數的值,而不受叫用環境影響。此選項可以多次使用;對於同一個變數的指定選項,系統會將最近期的勝出結果以及各種變數的累積選項累積。
標記:action_command_lines
--android_cpu=<a string>
預設值:「armeabi-v7a」-
Android 目標 CPU。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]android_databinding_use_androidx
預設值:「false」-
產生與 AndroidX 相容的資料繫結檔案。這僅適用於資料繫結第 2 版。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]android_databinding_use_v3_4_args
預設值:「false」-
將 Android 資料繫結 v2 與 3.4.0 引數搭配使用
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--android_dynamic_mode=<off, default or fully>
預設值:「關閉」-
判斷當 cc_binary 未明確建立共用程式庫時,Android 規則的 C++ 依附元件是否會動態連結。「default」表示 bazel 會選擇是否要動態連結。「ly」表示所有程式庫會以動態方式連結。「off」表示在大部分靜態模式中,所有程式庫都會建立連結。
標記:affects_outputs
、loading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency>
預設值:「alphabetical」-
設定傳送至 Android 二進位檔資訊清單合併工具的資訊清單順序。ALPHABETICAL 表示資訊清單會依照相對於執行根的路徑排序。ALPHABETICAL_BY_CONFIGURATION 表示資訊清單是按照輸出目錄內設定目錄的路徑排序。DEPENDENCY 表示系統會依照每個程式庫的資訊清單,排在依附元件的資訊清單之前。
標記:action_command_lines
、execution
--[no]android_resource_shrinking
預設值:「false」-
使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記:affects_outputs
、loading_and_analysis
- 累積共計
--apple_bitcode=<'mode' or 'platform=mode', where 'mode' is none, embedded_markers or embedded, and 'platform' is ios, visionos, watchos, tvos, macos or catalyst>
次 -
針對指定裝置架構的編譯步驟指定 Apple 位元碼模式。值的格式為「[platform=]mode」,其中平台 (必須為「ios」、「macos」、「tvos」或「watchos」) 為選填。如有提供,位元碼模式僅適用於該平台;省略時,則會套用至所有平台。模式必須為「none」、「embedded_markers」或「embedded」。這個選項可多次提供。
標記:loses_incremental_state
- 累積共計
--aspects=<comma-separated list of options>
次 - 要套用至頂層目標的面向清單 (以半形逗號分隔)。在清單中,如果 some_aspect 透過 required_aspect_providers 指定必要的展示提供者,some_aspect 前的所有元素會在廣告供應商符合 some_aspect 所需的長寬比供應商後執行。此外,some_aspect 會在需要屬性中指定的所有必要切面後執行。some_aspect 隨後即可存取這些供應商的值。<bzl-file-label>%<aspect_name>,例如「//tools:my_def.bzl%my_aspect」,其中「my_aspect」是檔案工具/my_def.bzl 中的頂層值
--[no]build_python_zip
預設值:「auto」-
建構 Python 可執行 ZIP 檔;在 Windows 或其他平台上,關閉其他平台
標記:affects_outputs
- 累積共計
--catalyst_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple Catalyst 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--[no]collect_code_coverage
預設值:「false」-
如有指定,Bazel 會檢測程式碼 (盡可能使用離線檢測功能),並在測試期間收集涵蓋範圍資訊。只有符合 --instrumentation_filter 的目標會受到影響。通常您不應直接指定這個選項,應改用「bazelCoverage」指令。
標記:affects_outputs
--compilation_mode=<fastbuild, dbg or opt>
[-c
] 預設值:「Fastbuild」-
指定要建構二進位檔的模式。值:「fastbuild」、「dbg」、「opt」。
標記:affects_outputs
、action_command_lines
、explicit_in_output_path
- 累積共計
--conlyopt=<a string>
次 -
編譯 C 來源檔案時傳送至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--copt=<a string>
次 -
傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
--cpu=<a string>
預設值:「」-
目標 CPU。
標記:changes_inputs
、affects_outputs
、explicit_in_output_path
--cs_fdo_absolute_path=<a string>
預設值:查看說明-
使用 CSFDO 設定檔資訊最佳化編譯。指定內含設定檔、原始或已建立索引 LLVM 設定檔的 ZIP 檔案絕對路徑名稱。
標記:affects_outputs
--cs_fdo_instrument=<a string>
預設值:查看說明-
產生具有情境敏感 FDO 檢測的二進位檔。使用 Clang/LLVM 編譯器時,也接受要在執行階段傾印原始設定檔的目錄名稱。
標記:affects_outputs
--cs_fdo_profile=<a build target label>
預設值:查看說明-
代表要用於最佳化的情境敏感設定檔的 cs_fdo_profile。
標記:affects_outputs
- 累積共計
--cxxopt=<a string>
次 -
編譯 C++ 來源檔案時,將其他選項傳送至 gcc。
標記:action_command_lines
、affects_outputs
- 累積共計
--define=<a 'name=value' assignment>
次 -
每個 --define 選項會指定建構變數的指派方式。
標記:changes_inputs
、affects_outputs
--dynamic_mode=<off, default or fully>
預設值:「預設」-
判斷是否以動態連結 C++ 二進位檔。「default」代表 Bazel 選擇要以動態方式連結。「ly」表示所有程式庫會以動態方式連結。「off」表示在大部分靜態模式中,所有程式庫都會建立連結。
標記:loading_and_analysis
、affects_outputs
--[no]enable_fdo_profile_absolute_path
預設值:「true」-
如果已設定,使用 fdo_abs_profile_path 時會產生錯誤。
標記:affects_outputs
--[no]enable_runfiles
預設值:「auto」-
啟用執行檔案符號連結樹狀結構;根據預設,這項功能在 Windows 和其他平台上會關閉。
標記:affects_outputs
- 累積共計
--experimental_action_listener=<a build target label>
次 -
以切面方式已淘汰。使用 action_listener 將 extra_action 附加至現有的建構動作。
標記:execution
、experimental
--[no]experimental_android_compress_java_resources
預設值:「false」-
在 APK 中壓縮 Java 資源
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_android_databinding_v2
預設值:「false」-
使用 Android 資料繫結 v2
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_android_resource_shrinking
預設值:「false」-
使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_android_rewrite_dexes_with_rex
預設值:「false」-
使用 Rex 工具重新編寫 dex 檔案
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_collect_code_coverage_for_generated_files
預設值:「false」-
如有指定,Bazel 也會針對產生的檔案產生涵蓋範圍資訊。
標記:affects_outputs
--[no]experimental_convenience_symlinks
預設值:「正常」-
這個標記可控制便利的符號連結 (建構完成後在工作區中顯示的符號連結) 的管理方式。可能的值:一般 (預設值):視版本而定,系統會建立或刪除每種類型的便利符號連結。clean:系統會無條件刪除所有符號連結。
ignore:符號連結將單獨保留。
log_only:產生記錄訊息時就好像傳遞「一般」,但實際上不執行任何檔案系統作業 (適合工具使用)。
請注意,只有名稱由目前 --symlink_prefix 目前值產生的符號連結才會受到影響;如果前置字元有所變更,既有符號連結將只會保留。
標記:affects_outputs
--[no]experimental_convenience_symlinks_bep_event
預設值:「false」-
這個標記可控制是否要將建構 eventConvenienceSymlinksIdentified 發布至 BuildEventProtocol。如果值為 true,BuildEventProtocol 將有一個項目 for 時代 SymlinksIdentified,列出您在工作區中建立的所有便利符號連結。如果為 false,則 BuildEventProtocol 中的便利 SymlinksIdentified 項目將為空白。
標記:affects_outputs
- 累積共計
--experimental_multi_cpu=<comma-separated list of options>
次 - :已淘汰,免人工管理。
標記:affects_outputs
、experimental
--experimental_objc_fastbuild_options=<comma-separated list of options>
預設值:「-O0,-DDEBUG=1」-
使用這些字串做為 objc Fastbuild 編譯器選項。
標記:action_command_lines
--[no]experimental_omitfp
預設值:「false」-
如果為 true,請使用 libunwind 來展開堆疊展開,並以 -fomit-frame-pointer 和 -fasync-unwind-tables 進行編譯。
標記:action_command_lines
、affects_outputs
、experimental
--[no]experimental_platform_in_output_dir
預設值:「false」-
如果為 true,輸出目錄名稱 (而不是 CPU) 會使用目標平台。
標記:affects_outputs
、experimental
--[no]experimental_use_llvm_covmap
預設值:「false」-
如果指定此選項,當啟用 collect_code_coverage 時,Bazel 會產生 llvm-cov 涵蓋率地圖資訊,而非 gcov。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
、experimental
--fat_apk_cpu=<comma-separated list of options>
預設值:「armeabi-v7a」-
設定此選項會啟用 Fat APK,其中包含所有指定架構的原生二進位檔,例如--fat_apk_cpu=x86,armeabi-v7a. 如果指定此旗標,則 android_binary 規則的依附元件會忽略 --android_cpu。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]fat_apk_hwasan
預設值:「false」-
是否要建立 HWASAN 分割。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--fdo_instrument=<a string>
預設值:查看說明-
使用 FDO 檢測功能產生二進位檔。使用 Clang/LLVM 編譯器時,也接受要在執行階段傾印原始設定檔的目錄名稱。
標記:affects_outputs
--fdo_optimize=<a string>
預設值:查看說明-
使用 FDO 設定檔資訊最佳化編譯。指定內含 .gcda 檔案樹狀結構的 ZIP 檔案、內含自動設定檔的 afdo 檔案,或是 LLVM 設定檔的 ZIP 檔案的名稱。這個標記也接受指定為標籤的檔案 (例如 `//foo/bar:file.afdo`),您可能需要在對應的套件中新增「exports_files」指令,以及指向「fdo_profile」目標的標籤。這個旗標將由「fdo_profile」規則取代。
標記:affects_outputs
--fdo_prefetch_hints=<a build target label>
預設值:查看說明-
使用快取預先擷取提示。
標記:affects_outputs
--fdo_profile=<a build target label>
預設值:查看說明-
fdo_profile 代表要用於最佳化的設定檔。
標記:affects_outputs
- 累積共計
--features=<a string>
次 -
針對在目標設定中建構的目標,指定功能會預設為啟用或停用。指定 -<feature> 會停用功能。負特徵一律會覆寫正面特徵。另請參閱 --host_features
標記:changes_inputs
、affects_outputs
--[no]force_pic
預設值:「false」-
如果啟用,所有 C++ 編譯都會產生與位置無關的程式碼 (「-fPIC」),連結會優先使用 PIC 預先建構的程式庫,而非非 PIC 程式庫,而且連結會產生位置獨立的執行檔 (「-pie」)。
標記:loading_and_analysis
、affects_outputs
- 累積共計
--host_action_env=<a 'name=value' assignment with an optional value part>
次 -
指定具有主機或執行設定動作的可用環境變數組合。您可以透過名稱指定變數,在這種情況下,系統會擷取叫用環境的值,也可以由 name=value 組合指定變數的值,而不受叫用環境影響。此選項可以多次使用;對於同一個變數的指定選項,系統會將最近期的勝出結果以及各種變數的累積選項累積。
標記:action_command_lines
--host_compilation_mode=<fastbuild, dbg or opt>
預設值:「opt」-
指定在建構作業期間使用的工具模式。值:「fastbuild」、「dbg」、「opt」。
標記:affects_outputs
、action_command_lines
- 累積共計
--host_conlyopt=<a string>
次 -
針對主機工具編譯 C 來源檔案時,可以向 gcc 傳遞其他訊息的選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_copt=<a string>
次 -
針對主機工具傳遞至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
--host_cpu=<a string>
預設值:「」- 主機 CPU。
標記:changes_inputs
、affects_outputs
- 累積共計
--host_cxxopt=<a string>
次 -
針對主機工具傳遞至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_features=<a string>
次 -
執行設定中建構的目標預設會啟用或停用指定功能。指定 -<feature> 會停用功能。負特徵一律會覆寫正值特徵。
標記:changes_inputs
、affects_outputs
--host_force_python=<PY2 or PY3>
預設值:查看說明-
覆寫主機設定的 Python 版本。可以是「PY2」或「PY3」。
標記:loading_and_analysis
、affects_outputs
- 累積共計
--host_linkopt=<a string>
次 -
連結主機工具時,可傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
--host_macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
主機目標的最低相容 macOS 版本。如未指定,則會使用「macos_sdk_version」。
標記:loses_incremental_state
- 累積共計
--host_per_file_copt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
在主機或執行設定中編譯特定檔案時,可以選擇將資料選擇性傳遞至 C/C++ 編譯器的選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--host_per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 在 //foo/ 中所有 cc 檔案的 gcc 指令列中 (bar.cc 除外) 新增 -O0 指令列選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_swiftcopt=<a string>
次 -
針對主機工具,將其他選項傳送至 swiftc。
標記:action_command_lines
、affects_outputs
--[no]incompatible_avoid_conflict_dlls
預設值:「true」-
啟用後,在 Windows 中由 cc_library 產生的所有 C++ 動態連結程式庫 (DLL) 都會重新命名為 name_{hash}.dll,其中雜湊值是根據 RepositoryName 和 DLL 的套件路徑計算。當您有一個依附於多個 cc_library 且名稱相同的套件 (例如 //foo/bar1:utils 和 //foo/bar2:utils) 時,這個選項就非常實用。
標記:loading_and_analysis
、affects_outputs
、incompatible_change
--[no]incompatible_merge_genfiles_directory
預設值:「true」-
如果為 true,genfiles 目錄會摺疊至 bin 目錄。
標記:affects_outputs
、incompatible_change
--[no]incompatible_use_host_features
預設值:「false」-
如果為 true,請只將 --features 用於目標設定,並將 --host_features 用於執行設定。
標記:changes_inputs
、affects_outputs
、incompatible_change
--[no]incompatible_use_platforms_repo_for_constraints
預設值:「true」-
如果為 true,系統會移除 @bazel_tools 的限制設定。
標記:affects_outputs
、incompatible_change
--[no]instrument_test_targets
預設值:「false」-
啟用涵蓋率功能時,會指定是否要考慮檢測測試規則。設定後,系統會檢測 --instrumentation_filter 包含的測試規則。否則,一律會從涵蓋率檢測中排除測試規則。
標記:affects_outputs
--instrumentation_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:"-/javatests[/:],-/test/java[/:]"-
啟用涵蓋率功能後,只有名稱包含指定規則運算式篩選器中名稱的規則,才會進行檢測。系統會改為排除前置字串「-」的規則。請注意,除非已啟用 --instrument_test_targets,系統只會檢測非測試規則。
標記:affects_outputs
--ios_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標模擬工具和裝置適用的最低相容 iOS 版本。如未指定,則會使用「ios_sdk_version」。
標記:loses_incremental_state
- 累積共計
--ios_multi_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 ios_application。結果是包含所有指定架構的通用二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--[no]legacy_whole_archive
預設值:「true」-
已淘汰,並由 --incompatible_remove_legacy_whole_Archive 取代 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7362)。開啟此設定後,請為含有 linkshared=True 和 linkstatic=True 或 -static' 的 linkopts 規則使用 --whole-Archive。這項資訊僅適用於回溯相容性。更好的做法是,在需要時使用 alwayslink=1。
標記:action_command_lines
、affects_outputs
、deprecated
- 累積共計
--linkopt=<a string>
次 -
在連結時傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--ltobackendopt=<a string>
次 -
另一個傳送至 LTO 後端步驟的選項 (位於 --features=thin_lto 下方)。
標記:action_command_lines
、affects_outputs
- 累積共計
--ltoindexopt=<a string>
次 -
還有其他選項可以傳送至 LTO 索引步驟 (位於 --features=thin_lto 下方)。
標記:action_command_lines
、affects_outputs
- 累積共計
--macos_cpus=<comma-separated list of options>
次 - 用於建構 Apple macOS 二進位檔的架構清單 (以半形逗號分隔)。
標記:loses_incremental_state
、loading_and_analysis
--macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標適用的最低相容 macOS 版本。如未指定,則會使用「macos_sdk_version」。
標記:loses_incremental_state
--[no]objc_debug_with_GLIBCXX
預設值:「false」-
如果已設定且編譯模式設為「dbg」,請定義 GLIBCXX_DEBUG、GLIBCXX_DEBUG_PEDANTIC 和 GLIBCPP_CONCEPT_CHECKS。
標記:action_command_lines
--[no]objc_enable_binary_stripping
預設值:「false」-
是否要在連結的二進位檔上執行符號和解碼清除程式碼。如果同時指定此旗標和 --compile_mode=opt,系統就會執行二進位檔清除。
標記:action_command_lines
- 累積共計
--objccopt=<a string>
次 -
編譯 Objective-C/C++ 來源檔案時,傳送至 gcc 的其他選項。
標記:action_command_lines
- 累積共計
--per_file_copt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
在其他編譯特定檔案時,選擇性地將資料傳送至 gcc 的選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 會將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案 (bar.cc 除外) 的 gcc 指令列中。
標記:action_command_lines
、affects_outputs
- 累積共計
--per_file_ltobackendopt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
編譯特定後端物件時,可選擇將其他選項傳送到 LTO 後端 (位於 --features=thin_lto 下方)。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--per_file_ltoBackendopt=//foo/.*\.o,-//foo/bar\.o@-O0 在 //foo/ 中所有 o 檔案的 LTO 後端指令列中 ( bar.o 除外) 新增 -O0 指令列選項。
標記:action_command_lines
、affects_outputs
--platform_suffix=<a string>
預設值:查看說明- 指定要新增至設定目錄的後置字串。
標記:loses_incremental_state
、affects_outputs
、loading_and_analysis
--propeller_optimize=<a build target label>
預設值:查看說明-
使用 Propeller 設定檔資訊來最佳化建構目標。修飾符設定檔必須至少包含兩個檔案:1 個副本設定檔和 ld 設定檔。此旗標接受建構標籤,該標籤必須參照修飾符設定檔輸入檔案。例如,定義標籤的 BUILD 檔案:a/b/BUILD:propeller_optimize( name = "propeller_profile", cc_profile = "propeller_cc_profile.txt", ld_profile = "propeller_ld_profile.txt",) 您可能需要在對應的套件中新增匯出檔案指令,才能讓這些檔案顯示在對應的套件中。這個選項必須使用以下格式:--propeller_optimize=//a/b:propeller_profile
標記:action_command_lines
、affects_outputs
--propeller_optimize_absolute_cc_profile=<a string>
預設值:查看說明-
Propeller 最佳化建構作業的 cc_profile 檔案的絕對路徑名稱。
標記:affects_outputs
--propeller_optimize_absolute_ld_profile=<a string>
預設值:查看說明-
Propeller 最佳化建構作業的 ld_profile 檔案的絕對路徑名稱。
標記:affects_outputs
--run_under=<a prefix in front of command>
預設值:查看說明-
針對「test」和「run」指令,在執行檔之前插入的前置字串。如果值為「foo -bar」,且執行指令列是「test_binary -baz」,最後一行指令就是「foo -bar test_binary -baz」。這也可以做為可執行目標的標籤。範例包括:「valgrind」、「strace」、「'strace -c」、'valgrind --quiet --num-callers=20'」、「//package:target'」、「'//package:target --options'」。
標記:action_command_lines
-
如果為 true,含有相同功能的原生資料庫會在不同的目標之間共用
標記:loading_and_analysis
、affects_outputs
--[no]stamp
預設值:「false」-
含有日期、使用者名稱、主機名稱、工作區資訊等標記二進位檔。
標記:affects_outputs
--strip=<always, sometimes or never>
預設值:「偶爾」-
指定是否要移除二進位檔和共用程式庫 (使用「-Wl,--strip-debug」)。預設值「sometimes」表示去除 iff --compile_mode=fastbuild。
標記:affects_outputs
- 累積共計
--stripopt=<a string>
次 -
產生「<name>.stripped」二進位檔時,其他要傳遞至移除的選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--swiftcopt=<a string>
次 -
傳送至 Swift 編譯的其他選項。
標記:action_command_lines
--symlink_prefix=<a string>
預設值:查看說明-
在建構後建立的任何便利符號連結之前,加在前面的前置字串。如果省略,預設值為建構工具的名稱後面加上連字號。如果傳送「/」,系統就不會建立任何符號連結,也不會顯示警告。警告:「/」的特殊功能即將淘汰,請改用 --experimental_convenience_symlinks=ignore。
標記:affects_outputs
- 累積共計
--tvos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple tvOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--tvos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標模擬器和裝置適用的最低相容 tvOS 版本。如未指定,則會使用「tvos_sdk_version」。
標記:loses_incremental_state
- 累積共計
--visionos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple visionOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
- 累積共計
--watchos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple watchOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--watchos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明- 目標模擬器和裝置適用的最低相容 watchOS 版本。如未指定,則會使用「watchos_sdk_version」。
標記:loses_incremental_state
--xbinary_fdo=<a build target label>
預設值:查看說明-
使用 XbinaryFDO 設定檔資訊最佳化編譯。指定預設跨二進位設定檔的名稱。這個選項與 --fdo_instrument/--fdo_optimize/--fdo_profile 搭配使用時,一律會以您從未指定 xbinary_fdo 的情況為準。
標記:affects_outputs
- 這些選項會影響 Bazel 嚴格強制執行有效建構輸入 (規則定義、標記組合等) 的方式:
--auto_cpu_environment_group=<a build target label>
預設值:「」- 宣告 environment_group,以自動將 CPU 值對應至 target_environment 值。
標記:changes_inputs
、loading_and_analysis
、experimental
--[no]check_licenses
預設值:「false」-
檢查相依套件設下的授權限制未與建構目標的發布模式相衝突。根據預設,系統不會勾選授權。
標記:build_file_semantics
--[no]check_visibility
預設值:「true」-
如果停用的話,目標依附元件中的瀏覽權限錯誤會降級為警告。
標記:build_file_semantics
--[no]desugar_for_android
預設值:「true」-
是否要在 DEX 之前對 Java 8 位元碼解碼。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]desugar_java8_libs
預設值:「false」-
指定是否要在舊版裝置的應用程式中加入支援的 Java 8 程式庫。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]enforce_constraints
預設值:「true」-
檢查每個目標相容的環境,並在任何目標的依附元件不支援相同環境時回報錯誤
標記:build_file_semantics
--[no]experimental_allow_android_library_deps_without_srcs
預設值:「false」- 旗標可協助您轉換系統,不允許採用含有 deps 的 android_library 規則,如要預設推出這個功能,必須先清除庫房。
標記:eagerness_to_exit
、loading_and_analysis
--[no]experimental_check_desugar_deps
預設值:「true」-
是否要在 Android 二進位檔層級再次確認脫糖程序是否正確。
標記:eagerness_to_exit
、loading_and_analysis
、experimental
--experimental_import_deps_checking=<off, warning or error>
預設值:「關閉」-
啟用後,請檢查 aar_import 的依附元件是否已完成。這項強制執行作業可能會中斷建構作業,或是造成警告。
標記:loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default>
預設值:「預設」-
如果為 true,系統會檢查 Java 目標是否明確宣告所有直接使用的目標為依附元件。
標記:build_file_semantics
、eagerness_to_exit
--[no]incompatible_check_testonly_for_output_files
預設值:「false」-
啟用後,只要查詢產生規則的測試,只針對輸出檔案的前置目標進行測試。這與瀏覽權限檢查相符。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disable_native_android_rules
預設值:「false」-
啟用後,系統會停用直接使用原生 Android 規則的功能。請使用 https://github.com/bazelbuild/rules_android 中的 Starlark Android 規則
標記:eagerness_to_exit
、incompatible_change
--[no]incompatible_disable_native_apple_binary_rule
預設值:「false」-
免人工管理。如需回溯相容性,請保留在這裡。
標記:eagerness_to_exit
、incompatible_change
--[no]incompatible_force_strict_header_check_from_starlark
預設值:「true」-
啟用後,請在 Starlark API 中設定嚴格標頭檢查
標記:loading_and_analysis
、changes_inputs
、incompatible_change
--[no]incompatible_validate_top_level_header_inclusions
預設值:「true」-
如果為 true,Bazel 也會驗證頂層目錄標頭納入項目 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/10047)。
標記:loading_and_analysis
、incompatible_change
--[no]strict_filesets
預設值:「false」-
如果啟用這個選項,橫跨套件邊界的檔案集會回報為錯誤。停用 check_fileset_dependencies_recursive 時無法運作。
標記:build_file_semantics
、eagerness_to_exit
--strict_proto_deps=<off, warn, error, strict or default>
預設值:「錯誤」-
除非設為關閉,否則檢查 proto_library 目標是否明確宣告所有直接使用的目標為依附元件。
標記:build_file_semantics
、eagerness_to_exit
、incompatible_change
--strict_public_imports=<off, warn, error, strict or default>
預設值:「關閉」-
除非設為關閉,否則檢查 proto_library 目標是否明確宣告「import public」(匯入公開) 中使用的所有目標均已匯出。
標記:build_file_semantics
、eagerness_to_exit
、incompatible_change
--[no]strict_system_includes
預設值:「false」-
如果為 true,也需要宣告透過系統包含路徑 (-isystem) 的標頭。
標記:loading_and_analysis
、eagerness_to_exit
- 累積共計
--target_environment=<a build target label>
次 -
宣告此建構作業的目標環境。必須是「環境」規則的標籤參照。如有指定,所有頂層目標都必須與這個環境相容。
標記:changes_inputs
- 影響建構作業簽署輸出內容的選項:
--apk_signing_method=<v1, v2, v1_v2 or v4>
預設:「v1_v2」-
用於簽署 APK 的實作
標記:action_command_lines
、affects_outputs
、loading_and_analysis
--[no]device_debug_entitlements
預設值:「true」-
如果已設定此屬性,且編譯模式並非「選擇」,在簽署時,objc 應用程式就會包含偵錯授權。
標記:changes_inputs
--ios_signing_cert_name=<a string>
預設值:查看說明-
iOS 簽署用的憑證名稱。如未設定,則會改回佈建設定檔。如 Codesign 的手冊頁面 (SIGNING IDENTITIES) 所述,這可能是憑證的金鑰鏈身分偏好設定或憑證通用名稱 (子字串)。
標記:action_command_lines
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API。
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_disallow_legacy_py_provider
預設值:「true」-
這項功能很快就會移除。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- 用於控管測試環境或測試執行工具行為的選項:
--[no]allow_analysis_failures
預設值:「false」-
如果為 true,規則目標分析失敗會導致目標為含有錯誤說明的 AnalysisFailureInfo 執行個體傳播,而不會導致建構失敗。
標記:loading_and_analysis
、experimental
--analysis_testing_deps_limit=<an integer>
預設值:「2000」-
透過含有 for_analysis_testing 設定轉換的規則屬性,設定遞移依附元件數量上限。如果超過這個限制,就會發生規則錯誤。
標記:loading_and_analysis
--[no]break_build_on_parallel_dex2oat_failure
預設值:「false」-
如果 dex2oat 動作失敗,會導致建構中斷,而不是在測試執行階段執行 dex2oat。
標記:loading_and_analysis
、experimental
--[no]check_tests_up_to_date
預設值:「false」-
不要執行測試,只要檢查工具是否為最新版本即可。如果所有測試結果均為最新結果,表示測試順利完成。如果需要建構或執行任何測試,系統會回報錯誤,且測試失敗。這個選項暗示 --check_up_to_date 行為。
標記:execution
--[no]experimental_android_use_parallel_dex2oat
預設值:「false」-
同時使用 dex2oat,可能會加快 android_test 的速度。
標記:loading_and_analysis
、host_machine_resource_optimizations
、experimental
- 累積共計
--flaky_test_attempts=<a positive integer, the string "default", or test_regex@attempts. This flag may be passed more than once>
次 -
如有任何測試失敗,每項測試都會重試指定次數。需要多次嘗試的測試會在測試摘要中標示為「FLAKY」。通常指定的值是整數或「default」字串。如果為整數,所有測試最多可能會執行 N 次。如果設為「default」,系統只會對一般測試和 3 次測試,並對其規則明確標示為不穩定 (flaky=1 屬性) 進行測試。替代語法:regex_filter@flaky_test_attempts。flaky_test_attempts 同上,而 regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --runs_per_test)。範例:--flaky_test_attempts=//foo/.*,-//foo/bar/.*@3 會降低 //foo/ 中的所有測試,但 foo/bar 底下的測試除外。這個選項可以多次傳遞。系統會優先採用最近傳遞的相符引數。如果沒有相符結果,行為就會與上述的「預設」一樣。
標記:execution
--[no]ios_memleaks
預設值:「false」-
啟用檢查 ios_test 目標的記憶體流失情形。
標記:action_command_lines
--ios_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 iOS 應用程式時要模擬的裝置,例如「iPhone 6」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--ios_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時要在模擬器上執行的 iOS 版本。如果在規則中指定了目標裝置,系統會忽略 ios_test 規則。
標記:test_runner
--local_test_jobs=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
並行執行的本機測試工作數量上限。使用整數或關鍵字 ("auto"、"HOST_CPUS"、"HOST_RAM"),並視需要加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。0 表示本機資源會改為同時執行的本機測試工作數量。如果設定的值大於 --jobs 的值,則不會造成效果。
標記:execution
- 累積共計
--runs_per_test=<a positive integer or test_regex@runs. This flag may be passed more than once>
次 - 指定每項測試的執行次數。如果這些嘗試基於任何原因失敗,整個測試都視為失敗。通常指定的值只是整數。範例:--runs_per_test=3 會執行所有測試 3 次。替代語法:regex_filter@runs_per_test。Run_per_test 代表整數值,regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。範例:--runs_per_test=//foo/.*,-//foo/bar/.*@3 會在 //foo/ 中執行所有測試 (在 foo/bar 下執行三次測試)。這個選項可以多次傳遞。系統會優先採用最近傳遞的相符引數。如果沒有相符項目,系統只會執行一次測試。
- 累積共計
--test_env=<a 'name=value' assignment with an optional value part>
次 -
指定要將其他環境變數插入測試執行工具環境。您可以使用名稱指定變數,在這種情況下,系統會從 Bazel 用戶端環境或 name=value 組合讀取變數的值。這個選項可多次用於指定多個變數。僅由「bazel test」指令使用。
標記:test_runner
--[no]test_keep_going
預設值:「true」-
如果停用這項設定,任何非通過測試都會導致整個版本停止。根據預設,即使部分測試未通過,所有測試仍會執行。
標記:execution
--test_strategy=<a string>
預設值:「」-
指定執行測試時要使用的策略。
標記:execution
--test_timeout=<a single integer or comma-separated list of 4 integers>
預設值:「-1」- 覆寫測試逾時的預設測試逾時值 (以秒為單位)。如果指定單一正整數值,則會覆寫所有類別。如果指定 4 個以半形逗號分隔的整數,這些整數將覆寫短、中等、長號和橢圓的逾時值 (依序)。無論是哪一種形式,-1 值都會指示 blaze 使用該類別的預設逾時值。
--test_tmpdir=<a path>
預設值:查看說明- 指定「bazel test」要使用的基本暫存目錄。
--tvos_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 tvOS 應用程式時要模擬的裝置,例如「Apple TV 1080p」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--tvos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時要在模擬器上執行的 tvOS 版本。
標記:test_runner
--watchos_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 WatchOS 應用程式時要模擬的裝置,例如「Apple Watch - 38mm」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--watchos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時,要在模擬器上執行的手錶版本。
標記:test_runner
--[no]zip_undeclared_test_outputs
預設值:「true」-
如果為 true,未宣告的測試輸出內容會封存成 ZIP 檔案。
標記:test_runner
- 會觸發建構時間最佳化的選項:
--[no]collapse_duplicate_defines
預設值:「false」-
啟用後,冗餘 (定義) 會在建構初期移除。這可以避免對特定類型的對等建構作業進行不必要的分析快取。
標記:loading_and_analysis
、loses_incremental_state
--[no]experimental_filter_library_jar_with_program_jar
預設值:「false」-
篩選 ProGuard ProgramJar,移除 LibraryJar 中的任何類別。
標記:action_command_lines
--[no]experimental_inmemory_dotd_files
預設值:「true」-
啟用後,C++ .d 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記:loading_and_analysis
、execution
、affects_outputs
、experimental
--[no]experimental_inmemory_jdeps_files
預設值:「true」-
啟用後,由 Java 編譯產生的依附元件 (.jdeps) 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記:loading_and_analysis
、execution
、affects_outputs
、experimental
--[no]experimental_objc_include_scanning
預設值:「false」-
是否要對目標 C/C++ 執行納入掃描。
標記:loading_and_analysis
、execution
、changes_inputs
--[no]experimental_parse_headers_skipped_if_corresponding_srcs_found
預設值:「false」-
啟用後,如果在同一個目標中發現具有相同基本名稱的來源,則 parse_headers 功能不會另外建立標頭編譯動作。
標記:loading_and_analysis
、affects_outputs
--[no]experimental_retain_test_configuration_across_testonly
預設值:「false」-
啟用後,--trim_test_configuration 就不會針對標示為 testonly=1 的規則修剪測試設定。這是為了減少非測試規則依附於 cc_test 規則時的操作衝突問題。如果 --trim_test_configuration 為 false,則不會產生任何影響。
標記:loading_and_analysis
、loses_incremental_state
--[no]experimental_starlark_cc_import
預設值:「false」-
如果啟用,就能使用 cc_import 的 Starlark 版本。
標記:loading_and_analysis
、experimental
--[no]experimental_unsupported_and_brittle_include_scanning
預設值:「false」-
是否要剖析輸入檔案中的 #include 行,藉此將輸入範圍縮小至 C/C++ 編譯。這麼做可以減少編譯輸入樹狀結構的大小,藉此提升效能與成效增幅。不過,這也可能破壞建構作業,因為 include 掃描器並未完整實作 C 預先處理器語意。具體來說,它無法理解動態 #include 指令,而且會忽略預先處理器的條件邏輯。使用時需自行承擔風險。我們將關閉所有與這項標記有關的問題。
標記:loading_and_analysis
、execution
、changes_inputs
--[no]incremental_dexing
預設值:「true」-
這大部分工作會分別針對每個 Jar 檔案執行 DEX 處理。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]objc_use_dotd_pruning
預設值:「true」-
設定後,系統會使用 clang 發出的 .d 檔案來修剪傳遞至 objc 編譯的輸入組合。
標記:changes_inputs
、loading_and_analysis
--[no]process_headers_in_dependencies
預設值:「false」-
建構目標 //a:a 時,請處理所有 //a:a 相依目標中的標頭 (如果工具鍊已啟用標頭處理功能)。
標記:execution
--[no]trim_test_configuration
預設值:「true」-
啟用後,系統會在建構的頂層下方清除測試相關選項。這個標記啟用後,就無法將測試建構為非測試規則的依附元件,但如果變更測試相關選項,系統不會重新分析非測試規則。
標記:loading_and_analysis
、loses_incremental_state
--[no]use_singlejar_apkbuilder
預設值:「true」-
這個選項已淘汰。這項功能目前為免人工管理,不久後就會移除。
標記:loading_and_analysis
- 影響記錄詳細程度、格式或位置的選項:
--[no]announce
預設值:「false」- :已淘汰,免人工管理。
標記:affects_outputs
--[no]experimental_bep_target_summary
預設值:「false」- 是否發布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets
預設值:「false」-
如果為 true,在顯示輸出檔案時,展開 BEP 中的檔案集。
標記:affects_outputs
--[no]experimental_build_event_fully_resolve_fileset_symlinks
預設值:「false」-
如果為 true,在顯示輸出檔案時,請完整解析 BEP 中的相對 Fileset 符號連結。需要 --experimental_build_event_expand_filesets。
標記:affects_outputs
--experimental_build_event_upload_max_retries=<an integer>
預設值:「4」-
Bazel 應重試上傳建構事件的次數上限。
標記:bazel_internal_configuration
--experimental_build_event_upload_retry_minimum_delay=<An immutable length of time.>
預設值:「1s」-
在 BEP 上傳失敗時,指數輪詢重試的最短延遲時間。(指數:1.6)
標記:bazel_internal_configuration
--experimental_build_event_upload_strategy=<a string>
預設值:查看說明-
選取如何上傳建構事件通訊協定中參照的構件。
標記:affects_outputs
--[no]experimental_materialize_param_files_directly
預設值:「false」-
如要具體化參數檔案,請透過直接寫入磁碟的方式執行。
標記:execution
--[no]experimental_stream_log_file_uploads
預設值:「false」-
將記錄檔上傳直接串流至遠端儲存空間,而不是將這些檔案寫入磁碟。
標記:affects_outputs
--explain=<a path>
預設值:查看說明-
讓建構系統解釋建構的每個執行步驟。說明會寫入指定的記錄檔。
標記:affects_outputs
--[no]legacy_important_outputs
預設值:「true」-
使用這個欄位可隱藏 TargetComplete 事件中舊版 important_outputs 欄位的產生作業。Bazel 必須與 ResultStore 整合才能使用重要_outputs。
標記:affects_outputs
--[no]materialize_param_files
預設值:「false」-
即使使用遠端動作執行功能,也能將中繼參數檔案寫入輸出樹狀結構。在偵錯動作時相當實用。--subcommands 和 --verbose_failures 即可隱含。
標記:execution
--max_config_changes_to_show=<an integer>
預設值:「3」-
如果因建構選項變更而捨棄分析快取,最多可顯示指定的變更選項名稱數量。如果提供的數字為 -1,將顯示所有已變更選項。
標記:terminal_output
--max_test_output_bytes=<an integer>
預設值:「-1」-
指定當 --test_output 是「errors」或「all」時,每項測試記錄的大小上限。有助於避免過度雜訊的測試輸出來減輕輸出負擔。測試標頭會包含在記錄檔大小中。負值代表沒有限制。輸出內容可以是全部或全無內容。
標記:test_runner
、terminal_output
、execution
--output_filter=<a valid Java regular expression>
預設值:查看說明-
只有在規則名稱與所提供規則運算式相符的規則時,才會顯示警告。
標記:affects_outputs
--progress_report_interval=<an integer in 0-3600 range>
預設值:「0」-
執行中工作報表之間的秒數。預設值 0 表示第一份報表會在 10 秒後輸出,接著是 30 秒,之後報表會每分鐘回報一次。啟用 -- 曲線後,系統會每秒回報進度。
標記:affects_outputs
--show_result=<an integer>
預設值:「1」-
顯示建構結果。針對每個目標,指明其是否為最新,如果是的話,也請列出建構的輸出檔案清單。列印出來的檔案是方便複製的字串,只要複製並貼到殼層即可執行。這個選項需要一個整數引數,這是目標數量的閾值,此值不會列印結果資訊。因此,零會造成郵件抑制,而 MAX_INT 會導致系統一直列印結果。預設值為 1。
標記:affects_outputs
--[no]subcommands
[-s
] 預設值:「false」-
顯示建構期間執行的子指令。相關旗標:--execution_log_json_file, --execution_log_binary_file (用於將子指令記錄到適合工具格式的檔案)。
標記:terminal_output
--test_output=<summary, errors, all or streamed>
預設值:「摘要」-
指定所需的輸出模式。有效值會是「summary」,只能輸出測試狀態摘要;「errors」可列印失敗測試的測試記錄,「all」可即時輸出所有測試的記錄,而「streamed」則會即時輸出所有測試的記錄 (無論 --test_strategy 值為何,系統都會強制一次在本機執行測試)。
標記:test_runner
、terminal_output
、execution
--test_summary=<short, terse, detailed, none or testcase>
預設值:「short」-
指定測試摘要的所需格式。有效值是「short」只會輸出執行測試的相關資訊「terse」,僅顯示未執行測試的相關資訊;「detailed」列印失敗測試案例的詳細資訊,「testcase」列印失敗的測試案例摘要、不列印失敗測試案例的詳細資訊,而不使用「none」以省略摘要。
標記:terminal_output
--toolchain_resolution_debug=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:「-.*」-
在工具鍊解析期間列印偵錯資訊。這個標記會採用規則運算式,系統會檢查工具鍊類型和特定目標,找出要偵錯的項目。您可以使用半形逗號分隔多個規則運算式,然後分別檢查每個規則運算式。注意:此標記的輸出內容非常複雜,可能只有工具鍊解析的專家才有用。
標記:terminal_output
--[no]verbose_explanations
預設值:「false」-
在啟用 --explain 時,系統會提高問題的詳細程度。如未啟用 --explain,將不會產生任何影響。
標記:affects_outputs
--[no]verbose_failures
預設值:「false」-
如果指令失敗,請輸出完整的指令列。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
- 累積共計
--aspects_parameters=<a 'name=value' assignment>
次 -
指定指令列方面參數的值。每個參數值都是透過 <param_name>=<param_value> 指定,例如「my_param=my_val」,其中 'my_param' 是 --spects list 或清單中某部分所需的參數。這個選項可以多次使用。不過,同一個參數只能指派一次值。
標記:loading_and_analysis
- 累積共計
--flag_alias=<a 'name=value' flag alias>
次 -
設定 Starlark 標記的簡稱。它會採用格式為「<key>=<value>」的單一鍵/值組合做為引數。
標記:changes_inputs
--[no]incompatible_default_to_explicit_init_py
預設值:「false」-
這個標記會變更預設行為,因此系統不會再於 Python 目標的執行檔案中自動建立 __init__.py 檔案。精確來說,如果 py_binary 或 py_test 目標將 legacy_create_init 設為「auto」(預設值),只有在設定了此標記時,系統才會將這個值視為 false。請參閱 https://github.com/bazelbuild/bazel/issues/10076。
標記:affects_outputs
、incompatible_change
--[no]incompatible_py2_outputs_are_suffixed
預設值:「true」-
如果為 true,在 Python 2 設定中建立的目標會顯示在包含後置字串「-py2」的輸出根下,而針對 Python 3 建構的目標則會顯示在根層級中,而且不會顯示 Python 相關後置字串。這表示「bazel-bin」便利符號連結會指向 Python 3 目標,而非 Python 2。如果啟用這個選項,我們也建議你啟用「--incompatible_py3_is_default」。
標記:affects_outputs
、incompatible_change
--[no]incompatible_py3_is_default
預設值:「true」-
如果設為 true,未設定「Python_version」(或「default_python_version」) 屬性的「py_binary」和「py_test」目標將預設為 PY3,而非 PY2。如果設定這個標記,我們也建議你設定「--incompatible_py2_outputs_are_suffixed」。
標記:loading_and_analysis
、affects_outputs
、incompatible_change
--[no]incompatible_use_python_toolchains
預設值:「true」-
如果設為 true,可執行的原生 Python 規則將使用 Python 工具鍊指定的 Python 執行階段,而非由 --python_top 等舊版旗標指定的執行階段。
標記:loading_and_analysis
、incompatible_change
--python_version=<PY2 or PY3>
預設值:查看說明-
Python 主要版本模式,可以是「PY2」或「PY3」。請注意,「py_binary」和「py_test」目標會遭到覆寫 (即使這些目標並未明確指定版本),所以通常沒有什麼原因需要提供這個標記。
標記:loading_and_analysis
、affects_outputs
、explicit_in_output_path
--target_pattern_file=<a string>
預設值:「」-
設定後,建構作業會從這裡命名的檔案讀取模式,而不是從指令列讀取模式。在這裡指定檔案和指令列模式會發生錯誤。
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_remote_cache_eviction_retries=<an integer>
預設值:「0」-
如果版本發生遠端快取撤銷錯誤,重試次數上限。如果值不是零,系統會以隱含方式將 --incompatible_remote_use_new_exit_code_for_lost_inputs 設為 true。系統會為每次嘗試產生新的叫用 ID。若您產生叫用 ID 並使用 --invocation_id 提供給 Bazel,則請勿使用此標記。請改為設定 --incompatible_remote_use_new_exit_code_for_lost_inputs,並檢查是否有結束代碼 39。
標記:execution
- 其他選項,未分類:
--[no]allow_analysis_cache_discard
預設值:「true」-
如果因建構系統變更而捨棄分析快取,將這個選項設為 false 將會導致 Bazel 結束,而非繼續建構。如果同時設定了「discard_analysis_cache」,這個選項就不會有任何作用。
標記:eagerness_to_exit
--[no]build_manual_tests
預設值:「false」- 強制建構標記為「手動」的測試目標。「手動」測試不在處理範圍內。這個選項會強制系統建構這些 Pod,但不會執行。
--build_tag_filters=<comma-separated list of options>
預設值:「」- 指定以逗號分隔的標記清單。您可視需要為每個標記加上「-」符號,以指定排除的標記。系統只會建立這些目標,其中含有至少一個已納入的代碼,且不含任何已排除的代碼。這個選項不會影響使用「test」指令執行的測試組合;這些選項會受到測試篩選選項的規範,例如「--test_tag_filters」
--[no]build_tests_only
預設值:「false」- 如果指定的話,系統只會建立 *_test 和 test_suite 規則,並忽略指令列中指定的其他目標。根據預設,系統會建構所有要求的內容。
--[no]cache_test_results
[-t
] 預設值:「auto」- 如果設為「auto」,Bazel 只會在下列情況下重新執行測試:(1) Bazel 偵測到測試或其依附元件中的變更;(2) 將測試標示為外部;(3) 使用 --runs_per_test 要求多項測試執行作業,或(4) 先前測試失敗。如果設為「是」,Bazel 會快取所有測試結果,但標示為外部的測試除外。如果設為「no」,Bazel 不會快取任何測試結果。
--[no]compile_one_dependency
預設值:「false」- 編譯引數檔案的單一依附元件。這適用於檢查 IDE 中原始碼檔案的語法,例如重建依附來源檔案的單一目標,在編輯/建構/測試循環中盡早偵測錯誤。此引數會影響所有非旗標引數的解譯方式,而要建構的目標則是來源檔案名稱。系統會為每個來源檔案名稱建立一個必要的目標。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
--[no]discard_analysis_cache
預設值:「false」- 分析階段完成後,請立即捨棄分析快取。可將記憶體用量減少約 10%,但進一步漸進式建構,速度會較慢。
--execution_log_binary_file=<a path>
預設值:查看說明- 根據 src/main/protobuf/spawn.proto,將已執行產生的程式碼記錄為分隔的 Spawn 原型。記錄會先未排序,接著在叫用結束時按照穩定順序排序 (可能會耗用大量 CPU 和記憶體)。相關旗標:--execution_log_json_file (排序的文字 json 格式)、--experimental_execution_log_file (未排序的二進位 protobuf 格式)、--sub 指令 (用於在終端機輸出內容中顯示子指令)。
--execution_log_json_file=<a path>
預設值:查看說明- 根據 src/main/protobuf/spawn.proto,將已執行產生的程式碼記錄為已分隔的 Spawn proto 的 JSON 表示法。記錄會先未排序,接著在叫用結束時按照穩定順序排序 (可能會耗用大量 CPU 和記憶體)。相關旗標:相關旗標:--execution_log_binary_file (排序的二進位 protobuf 格式)、--experimental_execution_log_file (未排序的二進位 protobuf 格式)、--sub 指令 (用於在終端機輸出中顯示子指令)。
--[no]execution_log_sort
預設值:「true」- 是否要排序執行記錄檔。設為 false 可提高記憶體效能,但代價是產生記錄。
--[no]expand_test_suites
預設值:「true」-
在分析前,將 test_suite 目標加入其組成測試。此標記啟用 (預設) 時,排除目標模式會套用至測試套件內的測試,否則將不會套用。如果在指令列套用頂層切面,關閉此旗標會非常實用,這樣即可分析 test_suite 目標。
標記:loading_and_analysis
--[no]experimental_cancel_concurrent_tests
預設值:「false」-
如果為 true,Blaze 會在第一次成功執行時取消並行執行測試。這個方法只適合與 --runs_per_test_detects_flakes 搭配使用。
標記:affects_outputs
、loading_and_analysis
--experimental_execution_log_file=<a path>
預設值:查看說明- 根據 src/main/protobuf/spawn.proto,將已執行產生的程式碼記錄為分隔的 Spawn 原型。這個檔案是依照 Spawns 執行的順序編寫。相關旗標:--execution_log_binary_file (排序的二進位 protobuf 格式)、--execution_log_json_file (排序的文字 json 格式)、--subcommands (用於在終端機輸出中顯示子指令)。
--[no]experimental_execution_log_spawn_metrics
預設值:「false」- 在執行的生成記錄中加入產生的指標。
--experimental_extra_action_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:「」- 以切面方式已淘汰。用來為 extra_actions 排定目標的篩選條件組合。
--[no]experimental_extra_action_top_level_only
預設值:「false」- 以切面方式已淘汰。建議您只為頂層目標排定 extra_actions。
--[no]experimental_fetch_all_coverage_outputs
預設值:「false」-
如果為 true,Bazel 會在涵蓋範圍執行期間擷取每項測試的完整涵蓋範圍資料目錄。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_generate_llvm_lcov
預設值:「false」-
如果為 true,Clang 的涵蓋範圍將產生 LCOV 報告。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_j2objc_header_map
預設值:「true」- 是否要同時產生 J2ObjC 標頭對應,用於 J2ObjC 轉譯。
--[no]experimental_j2objc_shorter_header_path
預設值:「false」-
是否要使用較短的標頭路徑產生 (使用「_ios」,而非「_j2objc」)。
標記:affects_outputs
--experimental_java_classpath=<off, javabuilder or bazel>
預設值:「javabuilder」- 啟用減少 Java 編譯的類別路徑。
--[no]experimental_limit_android_lint_to_android_constrained_java
預設值:「false」-
將 --experimental_run_android_lint_on_java_rules 限制為與 Android 相容的程式庫。
標記:affects_outputs
--[no]experimental_prioritize_local_actions
預設值:「true」-
如果已設定,系統會先找出只能在本機執行的動作,取得資源、以動態方式執行工作站兩次,並採用動態執行的獨立動作。
標記:execution
--[no]experimental_run_android_lint_on_java_rules
預設值:「false」-
是否驗證 java_* 來源。
標記:affects_outputs
--[no]explicit_java_test_deps
預設值:「false」- 在 java_test 中明確指定 JUnit 或 Hamcrest 的依附元件,而非意外從 TestRunner 的依附元件取得。目前僅適用於邊框。
--host_java_launcher=<a build target label>
預設值:查看說明- 在建構期間所執行工具使用的 Java 啟動器。
- 累積共計
--host_javacopt=<a string>
次 - 建構在建構期間執行的工具時,可傳遞至 javac 的選項。
- 累積共計
--host_jvmopt=<a string>
次 - 建構在建構期間執行的工具時,傳送至 Java VM 的其他選項。這些選項會新增至每個 java_binary 目標的 VM 啟動選項中。
--[no]incompatible_check_sharding_support
預設值:「false」-
如果為 true,Bazel 會在測試執行工具中輕觸 TEST_SHARD_STATUS_FILE 路徑中的檔案,表示支援資料分割測試。如果為 false,不支援資料分割的測試執行器會導致每個資料分割中的所有測試執行。
標記:incompatible_change
--[no]incompatible_exclusive_test_sandboxed
預設值:「false」-
如果為 true,獨家測試會以沙箱策略執行。新增「local」標記,強制在本機執行專屬測試
標記:incompatible_change
--[no]incompatible_strict_action_env
預設值:「false」-
如果為 true,Bazel 會使用具有靜態值的 PATH 環境,且不會沿用 LD_LIBRARY_PATH。如果想要繼承用戶端的特定環境變數,請使用 --action_env=ENV_VARIABLE,但請注意,這樣在使用共用快取時,就能避免跨使用者快取。
標記:loading_and_analysis
、incompatible_change
- 累積共計
--j2objc_translation_flags=<comma-separated list of options>
次 - 傳送至 J2ObjC 工具的其他選項。
--java_debug
-
使用 Java 測試的 Java 虛擬機器,等待從與 JDWP 相容的偵錯工具 (例如 jdb) 建立連線後,再開始測試。隱含 -test_output=streamed。
展開至:
--test_arg=--wrapper_script_flag=--debug
--test_output=streamed
--test_strategy=exclusive
--test_timeout=9999
--nocache_test_results
--[no]java_deps
預設值:「true」- 為每個 Java 目標產生依附元件資訊 (目前是編譯時間類別路徑)。
--[no]java_header_compilation
預設值:「true」- 直接從來源編譯 ijar。
--java_language_version=<a string>
預設值:「8」- Java 版本
--java_launcher=<a build target label>
預設值:查看說明- 建構 Java 二進位檔時使用的 Java 啟動器。如果此旗標設為空白字串,系統會使用 JDK 啟動器。「launcher」屬性會覆寫這個標記。
--java_runtime_version=<a string>
預設值:「local_jdk」- Java 執行階段版本
- 累積共計
--javacopt=<a string>
次 - 傳送至 javac 的其他選項。
- 累積共計
--jvmopt=<a string>
次 - 傳送至 Java VM 的其他選項。這些選項會新增至每個 java_binary 目標的 VM 啟動選項中。
--legacy_main_dex_list_generator=<a build target label>
預設值:查看說明- 指定在編譯舊版 Multidex 時,用來產生類別清單的二進位檔。
--local_cpu_resources=<an integer, or "HOST_CPUS", optionally followed by [-|*]<float>.>
預設值:「HOST_CPUS」- 明確設定可供 Bazel 使用的本機 CPU 核心總數,以便用於在本機執行的建構動作。使用整數或「HOST_CPUS」,您可以視需要加上 [-|*]<float> (例如HOST_CPUS*.5 會使用一半的可用 CPU 核心。根據預設,Bazel 會查詢系統設定來預估可用的 CPU 核心數量。
- 累積共計
--local_extra_resources=<a named float, 'name=value'>
次 - 設定 Bazel 可用的額外資源數量。採用字串浮點值。可用於多次指定多種類型的額外資源。Bazel 會根據可用的額外資源和額外資源,限制並行執行的操作。測試可以使用「resources:<resoucename>:<amount>」格式的標記來宣告需要的額外資源數量。無法使用此旗標設定可用的 CPU、RAM 和資源。
--local_ram_resources=<an integer, or "HOST_RAM", optionally followed by [-|*]<float>.>
預設值:「HOST_RAM*.67」- 明確設定可供 Bazel 使用的本機主機 RAM 總量 (以 MB 為單位),以便支出在本機執行的建構動作。使用整數或「HOST_RAM」,可視需要加上 [-|*]<float> (例如HOST_RAM*.5 即可使用一半的可用 RAM)。根據預設 (「HOST_RAM*.67」),Bazel 會查詢系統設定來預估可用的 RAM 容量,並會使用 67% 的 RAM。
--local_termination_grace_seconds=<an integer>
預設值:「15」- 因逾時而終止本機程序,到強制關閉本機程序之間的等待時間。
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
- 累積共計
--plugin=<a build target label>
次 - 用於版本中的外掛程式。目前可與 java_plugin 搭配使用。
--proguard_top=<a build target label>
預設值:查看說明- 指定建構 Java 二進位檔時,使用哪個 ProGuard 版本移除程式碼。
--proto_compiler=<a build target label>
預設值:"@bazel_tools//tools/proto:protoc"- proto- 編譯器的標籤。
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_cc=<a build target label>
預設值:"@bazel_tools//tools/proto:cc_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 C++ proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_j2objc=<a build target label>
預設值:"@bazel_tools//tools/j2objc:j2objc_proto_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 j2objc proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_java=<a build target label>
預設值:"@bazel_tools//tools/proto:java_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 Java proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_javalite=<a build target label>
預設值:"@bazel_tools//tools/proto:javalite_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 JavaLite proto
標記:affects_outputs
、loading_and_analysis
- 累積共計
--protocopt=<a string>
次 -
傳送至 protobuf 編譯器的其他選項。
標記:affects_outputs
--[no]runs_per_test_detects_flakes
預設值:「false」- 如果為 true,只要至少有一項執行作業/嘗試通過,且至少有一個執行/嘗試失敗的資料分割,就會獲得 FLAKY 狀態。
--shell_executable=<a path>
預設值:查看說明-
供 Bazel 使用的殼層執行檔的絕對路徑。如未設定,但 Bazel 會在首次叫用 (啟動 Bazel 伺服器) 時設定 BAZEL_SH 環境變數,如果未設定,Bazel 會根據執行時使用的作業系統使用硬式編碼預設路徑 (Windows:c:/tools/msys64/usr/bin/bash.exe、FreeBSD: /usr/local/bin/bash,所有其他項目:/bin/bash)。請注意,使用與 bash 不相容的殼層可能會導致產生的二進位檔出現建構失敗或執行階段失敗。
標記:loading_and_analysis
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
- 累積共計
--test_arg=<a string>
次 - 指定要傳送至測試執行檔的其他選項和引數。可多次用於指定多個引數。如果執行多項測試,每個測試都會收到相同的引數。僅由「bazel test」指令使用。
--test_filter=<a string>
預設值:查看說明- 指定要傳送至測試架構的篩選器。用於限制測試執行。請注意,這不會影響建構的目標。
--test_lang_filters=<comma-separated list of options>
預設值:「」- 指定以逗號分隔的測試語言清單。每種語言都可以視需要在前面加上「-」來指定排除的語言。只有這些測試目標會以指定語言寫成。每種語言使用的名稱應與 *_test 規則中的語言前置字元相同,例如其中一個「cc」、「java」、「py」等等。這個選項會影響 --build_tests_only 行為和測試指令。
--test_result_expiration=<an integer>
預設值:「-1」- 這個選項已淘汰,不會產生任何作用。
--[no]test_runner_fail_fast
預設值:「false」- 將失敗的快速選項轉送至測試執行器。測試執行工具應在首次失敗時停止執行。
--test_sharding_strategy=<explicit or disabled>
預設值:「明確」- 指定測試資料分割的策略:「明確」,只有在「shard_count」BUILD 屬性存在時,才會使用資料分割。「已停用」:一律不使用測試資料分割。
--test_size_filters=<comma-separated list of values: small, medium, large or enormous>
預設值:「」- 指定測試大小的逗號分隔清單。您可視需要為每個大小加上「-」符號,以指定排除的大小。只有這些測試目標包含至少一個內含大小,且不包含任何排除大小。這個選項會影響 --build_tests_only 行為和測試指令。
--test_tag_filters=<comma-separated list of options>
預設值:「」- 指定以逗號分隔的測試標記清單。您可視需要為每個標記加上「-」符號,以指定排除的標記。系統只會找到這些測試目標,其中含有至少一個已納入的代碼,且未包含任何排除的代碼。這個選項會影響 --build_tests_only 行為和測試指令。
--test_timeout_filters=<comma-separated list of values: short, moderate, long or eternal>
預設值:「」- 指定測試逾時的逗號分隔清單。您可以選擇在每個逾時前面加上「-」來指定排除的逾時。只有這些測試目標包含至少一個包含的逾時設定,而且不包含任何排除的逾時值。這個選項會影響 --build_tests_only 行為和測試指令。
--tool_java_language_version=<a string>
預設值:「8」- 用於執行建構期間所需工具的 Java 語言版本
--tool_java_runtime_version=<a string>
預設值:「remotejdk_11」- 用於在建構期間執行工具的 Java 執行階段版本
--[no]use_ijars
預設值:「true」- 啟用後,這個選項會讓 Java 編譯使用介面 Jar。這會造成漸進式編譯速度更快,但錯誤訊息可能有所不同。
標準化標記選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制指令輸出內容的選項:
--[no]canonicalize_policy
預設值:「false」-
擴充及篩選後,輸出標準政策。為了讓輸出內容保持簡潔,在這個選項設為 true 時,系統「不會」顯示標準化指令引數。請注意,--for_command 指定的指令會影響篩選過的政策,如未指定,預設指令為「build」。
標記:affects_outputs
、terminal_output
--[no]show_warnings
預設值:「false」-
輸出剖析器警告為標準錯誤 (例如標記選項相衝突)。
標記:affects_outputs
、terminal_output
- 選項會影響 Bazel 嚴格執行有效建構輸入的方式 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
--for_command=<a string>
預設值:「build」-
針對選項標準化的指令,
標記:affects_outputs
、terminal_output
--invocation_policy=<a string>
預設值:「」-
將叫用政策套用至要標準化的選項。
標記:affects_outputs
、terminal_output
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
清理選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制指令輸出內容的選項:
--[no]async
預設值:「false」-
如果為 true,輸出清理作業為非同步。這個指令完成後,即使刪除作業可能會在背景繼續執行,您還是可以在同一用戶端中執行新指令。
標記:host_machine_resource_optimizations
--[no]expunge
預設值:「false」-
如果設為 True,清理功能會移除這個 bazel 執行個體的整個工作樹狀結構,包括所有 bazel 建立的臨時和建構輸出檔案,並在 Bazel 伺服器正在執行時停止執行。
標記:host_machine_resource_optimizations
--expunge_async
-
如有指定,系統會以非同步方式移除這個 Bazel 執行個體的整個工作樹狀結構,包括所有 bazel 建立的臨時和建構輸出檔案,並在 Bazel 伺服器正在執行時停止執行。這個指令完成後,即使刪除作業可能會在背景繼續執行,您還是可以在同一用戶端中執行新指令。
展開為:
--expunge
--async
標記:host_machine_resource_optimizations
--[no]remove_all_convenience_symlinks
預設值:「false」-
如果設為 True,系統會刪除工作區中所有前置字串為 symlink_prefix 的符號連結。如果沒有這個標記,系統只會清除含有預先定義後置字串的符號連結。
標記:affects_outputs
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、旗標組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
設定選項
保固方案選項
沿用 test 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
Cquery 選項
沿用 test 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- 查詢輸出和語意相關選項:
--aspect_deps=<off, conservative or precise>
預設值:「保守」-
當輸出格式是 {xml,proto,record} 時,如何解析長寬比的依附元件。「off」表示未解析任何顯示依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,均已新增所有宣告的依附元件。「精確」表示只有在直接依附元件的規則類別下,才會新增這些可能處於有效狀態的元件。請注意,您需要載入其他套件來評估單一目標,因此速度比其他模式慢。另請注意,即使是精確模式,也不一定完全準確:系統會在分析階段決定要計算某個面向,而這不會在「bazel 查詢」期間執行。
標記:build_file_semantics
--[no]consistent_labels
預設值:「false」-
如果啟用,每個查詢指令都會像套用 <code>Label</code> 標籤的 Starlark <code>str</code> 函式一樣發出標籤。這對於需要比對不同查詢指令輸出內容和/或規則產生的標籤的工具而言非常實用。如未啟用,輸出格式器就不會產生明顯的存放區名稱 (相對於主要存放區),改為讓輸出內容更容易閱讀。
標記:terminal_output
--[no]graph:factored
預設值:「true」-
如果為 True,圖表就會以「係數」形式進行,意即邏輯對等節點會合併,並串連這些節點。這個選項僅適用於 --output=graph。
標記:terminal_output
--graph:node_limit=<an integer>
預設值:「512」-
輸出內容中圖表節點的標籤字串長度上限,較長的標籤將遭到截斷;-1 表示不會遭到截斷。這個選項僅適用於 --output=graph。
標記:terminal_output
--[no]implicit_deps
預設值:「true」-
如果啟用,隱含依附元件將包含在查詢作業的依附元件圖表中。隱含依附元件是指 BUILD 檔案中未明確指定,但是由 bazel 新增的依附元件。針對 cquery,這個選項可控制已解析的工具鍊。
標記:build_file_semantics
--[no]include_aspects
預設值:「true」- 查詢, cquery: 是否在輸出中納入由面向產生的動作。 query:no-op (一律會遵循指定順序)。
標記:terminal_output
--[no]incompatible_display_source_file_location
預設值:「true」-
預設為 True,會顯示來源檔案的目標。如為 true,則在位置輸出中,顯示來源檔案第 1 行的位置。這個旗標只會用於遷移。
標記:terminal_output
、incompatible_change
--[no]incompatible_package_group_includes_double_slash
預設值:「true」-
如果啟用此功能,輸出 package_group 的 `packages` 屬性時,系統不會省略開頭的 `//`。
標記:terminal_output
、incompatible_change
--[no]infer_universe_scope
預設值:「false」-
如果未設定且未設定 --universe_scope,系統就會推斷查詢運算式中 --universe_scope 的值,做為不重複目標模式清單。請注意,針對使用宇宙範圍函式 (例如「allrdeps」) 的查詢運算式所推測的 --universe_scope 值,不一定符合需求,因此,建議只在知道相關做法的情況下才使用這個選項。如需詳細資訊和範例,請前往 https://bazel.build/reference/query#sky-query。如果設定了 --universe_scope,系統就會忽略此選項的值。注意:這個選項僅適用於「query」(而不是「cquery」)。
標記:loading_and_analysis
--[no]line_terminator_null
預設值:「false」-
表示各種格式會以 \0 結尾 (而非換行符號)。
標記:terminal_output
--[no]nodep_deps
預設值:「true」-
如果啟用,「nodep」屬性的部分就會包含在查詢作業的依附元件圖表中。「nodep」屬性的常見例子為「visibility」。執行並剖析「info build-language」的輸出內容,瞭解建構語言中的所有「nodep」屬性。
標記:build_file_semantics
--output=<a string>
預設值:「label」-
查詢查詢結果的列印格式。cquery 允許的值為:label、label_Kind、textproto、Transitions、proto、jsonproto。如果您選取「轉換」,就必須一併指定「--transitions=(lite|full)」選項。
標記:terminal_output
--[no]proto:default_values
預設值:「true」-
如果設為 true,系統將納入 BUILD 檔案中未明確指定值的屬性,否則會省略。這個選項適用於 --output=proto
標記:terminal_output
--[no]proto:definition_stack
預設值:「false」-
填入 definition_stack proto 欄位,系統會在定義規則類別時,記錄每個規則例項的 Starlark 呼叫堆疊。
標記:terminal_output
--[no]proto:flatten_selects
預設值:「true」-
啟用後,由 select() 建立的可設定屬性會經過分割。以清單類型來說,整併表示法是一份清單,其中包含所選地圖的每個值。純量類型會整併為空值。
標記:build_file_semantics
--[no]proto:include_configurations
預設值:「true」-
如果啟用,proto 輸出內容會包含設定相關資訊。停用後,cquery proto 輸出格式類似於查詢輸出格式。
標記:affects_outputs
--[no]proto:include_synthetic_attribute_hash
預設值:「false」-
是否要計算並填入 $internal_attr_hash 屬性。
標記:terminal_output
--[no]proto:instantiation_stack
預設值:「false」-
填入每個規則的例項化呼叫堆疊。請注意,堆疊必須具有
標記:terminal_output
--[no]proto:locations
預設值:「true」-
指定是否要在 proto 輸出中輸出位置資訊。
標記:terminal_output
--proto:output_rule_attrs=<comma-separated list of options>
預設值:「全部」-
要納入輸出的屬性清單 (以半形逗號分隔)。預設值為所有屬性。設為空白字串,不輸出任何屬性。這個選項適用於 --output=proto。
標記:terminal_output
--[no]proto:rule_inputs_and_outputs
預設值:「true」-
是否要填入 Rules_input 和 Rules_output 欄位。
標記:terminal_output
--query_file=<a string>
預設值:「」-
如果已設定,查詢就會從這裡命名的檔案讀取查詢,而不是透過指令列讀取查詢。在這裡指定檔案和指令列查詢會發生錯誤。
標記:changes_inputs
--[no]relative_locations
預設值:「false」-
如果為 true,XML 和 proto 輸出中的 BUILD 檔案位置是相對位置。根據預設,位置輸出內容為絕對路徑,且在不同電腦上不會一致。只要將這個選項設為 true,就能讓不同機器的結果保持一致。
標記:terminal_output
--show_config_fragments=<off, direct or transitive>
預設值:「關閉」-
顯示規則所需的設定片段及其遞移依附元件。這有助於評估可修剪已設定的目標圖表比例。
標記:affects_outputs
--starlark:expr=<a string>
預設值:「」-
這個 Starlark 運算式可設定 cquery --output=starlark 模式下每個已設定的目標。已設定的目標與「目標」繫結在一起。如未指定 --starlark:expr 或 --starlark:file,則這個選項會預設為「str(target.label)」。同時指定 --starlark:expr 和 --starlark:file 會發生錯誤。
標記:terminal_output
--starlark:file=<a string>
預設值:「」-
這是一個檔案名稱,用來定義名為「format」的 Starlark 函式。該函式將套用至各個已設定的目標,以字串格式表示。同時指定 --starlark:expr 和 --starlark:file 會發生錯誤。詳情請參閱 --output=starlark 說明。
標記:terminal_output
--[no]tool_deps
預設值:「true」-
查詢:如果停用,「主機設定」或「執行」目標的依附元件就不會納入查詢作業的依附元件圖表。「主機設定」依附元件邊緣 (例如從任何「proto_library」規則到通訊協定編譯器的邊緣),通常會指向在建構期間執行的工具,而不是同一個「target」程式的一部分。Cquery:如果停用這項設定,系統會篩除從找到這個設定目標的頂層目標,篩選出跨主機或執行轉換的所有已設定目標。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於主機設定,系統只會傳回主機設定的目標。這個選項「不會」排除已解析的工具鍊。
標記:build_file_semantics
--transitions=<full, lite or none>
預設值:「無」-
cquery 列印轉換資訊的格式。
標記:affects_outputs
--universe_scope=<comma-separated list of options>
預設值:「」-
以半形逗號分隔的目標模式組合 (相加和減法)。這項查詢可以由指定目標的轉換封閉定義,在宇宙中執行。這個選項用於查詢和 cquery 指令。針對 cquery,這個選項的輸入內容是以所有答案為基礎建構,因此這個選項可能會影響設定和轉換作業。如果未指定此選項,系統會假設頂層目標為從查詢運算式剖析的目標。注意:針對 cquery,如果不指定此選項,則無法使用頂層選項建構從查詢運算式剖析的目標時,可能會導致建構中斷。
標記:loading_and_analysis
- 與 Bzlmod 輸出和語意相關的選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。假設指定路徑開頭為「%workspace%」,它是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
- 控制建構作業執行作業的選項:
--[no]experimental_inprocess_symlink_creation
預設值:「false」-
是否可以直接呼叫檔案系統來建立符號連結樹狀結構
標記:loading_and_analysis
、execution
、experimental
--[no]experimental_remotable_source_manifests
預設值:「false」-
是否使來源資訊清單動作可循環變
標記:loading_and_analysis
、execution
、experimental
--[no]experimental_split_coverage_postprocessing
預設值:「false」-
如果為 true,Bazel 會在新產生時執行涵蓋率後置處理,以便進行測試。
標記:execution
--[no]experimental_strict_fileset_output
預設值:「false」-
如果啟用這個選項,檔案集會將所有輸出構件視為一般檔案。不會掃遍目錄,也不會對符號連結產生敏感內容。
標記:execution
--modify_execution_info=<regex=[+-]key,regex=[+-]key,...>
預設值:「」-
根據動作記憶機制,在動作的執行資訊中新增或移除鍵。僅適用於支援執行資訊的動作。許多常見動作都支援執行資訊,例如 Genrule、CppCompile、Javac、StarlarkAction、TestRunner。指定多個值時,順序很重要,因為許多規則運算式可能會套用到同一項記憶。
語法:"regex=[+-]key,regex=[+-]key,..."。
範例:
「.*=+x,.*=-y,.*=+z」會將「x」和「z」加入,並將「y」從所有動作的執行資訊中移除。
「Genrule=+requires-x」會在所有 Genrule 動作的執行資訊中加入「requires-x」。「(?!Genrule).*=-requires-x」會從所有非規則化動作的執行資訊中移除「requires-x」。
標記:execution
、affects_outputs
、loading_and_analysis
--persistent_android_dex_desugar
-
使用 worker 啟用永久 Android dex 和 desugar 操作。
展開為:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker
--strategy=DexBuilder=worker
標記:host_machine_resource_optimizations
、execution
--persistent_android_resource_processor
-
使用工作站啟用永久 Android 資源處理器。
展開為:
--internal_persistent_busybox_tools
--strategy=AaptPackage=worker
--strategy=AndroidResourceParser=worker
--strategy=AndroidResourceValidator=worker
--strategy=AndroidResourceCompiler=worker
--strategy=RClassGenerator=worker
--strategy=AndroidResourceLink=worker
--strategy=AndroidAapt2=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=Aapt2Optimize=worker
--strategy=AndroidAssetMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=AARGenerator=worker
host_machine_resource_optimizations
execution
--persistent_multiplex_android_dex_desugar
-
使用 worker 啟用永久的多工處理 Android dex 和解糖操作。
展開為:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar
標記:host_machine_resource_optimizations
、execution
--persistent_multiplex_android_resource_processor
-
使用工作站啟用永久的多工架構 Android 資源處理器。
展開為:
--persistent_android_resource_processor
--modify_execution_info=AaptPackage=+supports-multiplex-workers
--modify_execution_info=AndroidResourceParser=+supports-multiplex-workers
--modify_execution_info=AndroidResourceValidator=+supports-multiplex-workers
--modify_execution_info=AndroidResourceCompiler=+supports-multiplex-workers
--modify_execution_info=RClassGenerator=+supports-multiplex-workers
--modify_execution_info=AndroidResourceLink=+supports-multiplex-workers
--modify_execution_info=AndroidAapt2=+supports-multiplex-workers
--modify_execution_info=AndroidResourceMerger=+supports-multiplex-workers
--modify_execution_info=AndroidCompiledResourceMerger=+supports-multiplex-workers
--modify_execution_info=ManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AndroidAssetMerger=+supports-multiplex-workers
--modify_execution_info=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers
host_machine_resource_optimizations
execution
--persistent_multiplex_android_tools
- 啟用永久和多 X 技術的 Android 工具 (DEX 功能、脫糖、資源處理)。
展開為:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor
--persistent_multiplex_android_dex_desugar
標記:host_machine_resource_optimizations
、execution
- 設定用於執行動作的工具鍊:
--android_compiler=<a string>
預設值:查看說明-
Android 目標編譯器。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--android_crosstool_top=<a build target label>
預設值:"//external:android/crosstool"-
用於 Android 版本的 C++ 編譯器的位置。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_grte_top=<a label>
預設值:查看說明-
Android 目標 grte_top。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_manifest_merger=<legacy, android or force_android>
預設值:「android」-
選取用於 android_binary 規則的資訊清單合併工具。此標記可協助從舊版合併工具轉換至 Android 資訊清單合併工具。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--android_platforms=<a build target label>
預設值:「」-
設定 android_binary 目標使用的平台。如果指定了多個平台,二進位檔就是笨重的 APK,其中包含每個指定目標平台的原生二進位檔。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--android_sdk=<a build target label>
預設值:"@bazel_tools//tools/android:sdk"-
指定用於建構 Android 應用程式的 Android SDK/平台。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--apple_compiler=<a string>
預設值:查看說明-
Apple 目標編譯器。適合選取工具鍊的變化版本 (例如 xcode-beta)。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--apple_crosstool_top=<a build target label>
預設值:"@bazel_tools//tools/cpp:toolchain"-
要在 Apple 和 Objc 規則及其依附元件中使用的 Crosstool 套件標籤。
標記:loses_incremental_state
、changes_inputs
--apple_grte_top=<a build target label>
預設值:查看說明-
Apple 目標 grte_top。
標記:changes_inputs
、loading_and_analysis
、loses_incremental_state
--cc_output_directory_tag=<a string>
預設值:「」- 指定要新增至設定目錄的後置字串。
標記:affects_outputs
、explicit_in_output_path
--compiler=<a string>
預設值:查看說明- 用於編譯目標的 C++ 編譯器。
標記:loading_and_analysis
、execution
--coverage_output_generator=<a build target label>
預設值:"@bazel_tools//tools/test:lcov_merger"-
用於後處理原始涵蓋率報表的二進位檔位置。這目前必須是包含單一檔案 (也就是二進位檔案) 的檔案群組。預設值為「//tools/test:lcov_merger」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--coverage_report_generator=<a build target label>
預設值:"@bazel_tools//tools/test:coverage_report_generator"-
用於產生涵蓋率報表的二進位檔位置。這目前必須是包含單一檔案 (也就是二進位檔案) 的檔案群組。預設值為「//tools/test:coverage_report_generator」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--coverage_support=<a build target label>
預設值:"@bazel_tools//tools/test:coverage_support"-
針對收集程式碼涵蓋率的每項測試動作輸入內容,所需的支援檔案位置。預設值為「//tools/test:coverage_support」。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
--crosstool_top=<a build target label>
預設值:"@bazel_tools//tools/cpp:toolchain"-
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記:loading_and_analysis
、changes_inputs
、affects_outputs
--custom_malloc=<a build target label>
預設值:查看說明-
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記:changes_inputs
、affects_outputs
- 累積共計
--experimental_add_exec_constraints_to_targets=<a '<RegexFilter>=<label1>[,<label2>,...]' assignment>
次 -
以半形逗號分隔的規則運算式清單,每個運算式可視需要加上 - (排除運算式),指派 (=) 至清單,並以半形逗號分隔限制條件值目標。如果目標未比對到任何負數運算式,且至少有一個正運算式的解析作業,系統就會以其工具鍊解析為執行的條件,將限制值宣告為執行限制。例如://demo,-test=@platforms//cpus:x86_64 會將「x86_64」新增到 //demo 底下的任何目標中,但名稱含有「test」的字詞除外。
標記:loading_and_analysis
--[no]experimental_enable_objc_cc_deps
預設值:「true」-
允許 objc_* 規則依附 cc_library,並使用 --cpu 將 --ios_multi_cpu 中的值設為「ios_<--ios_cpu>」。
標記:loading_and_analysis
、incompatible_change
--[no]experimental_include_xcode_execution_requirements
預設值:「false」-
如果已設定,請為每個 Xcode 動作新增「requires-xcode:{version}」執行要求。如果 xcode 版本具有連字號標籤,請同時加入「requires-xcode-label:{version_label}」執行要求。
標記:loses_incremental_state
、loading_and_analysis
、execution
--[no]experimental_prefer_mutual_xcode
預設值:「true」-
如果為 true,請使用本機和遠端提供的最新 Xcode。如為 false,或是沒有共同可用的版本,請使用透過 xcode-select 選取的本機 Xcode 版本。
標記:loses_incremental_state
- 累積共計
--extra_execution_platforms=<comma-separated list of options>
次 -
可做為執行動作的執行平台。您可以採用確切目標或目標模式來指定平台。系統會先將這些平台視為 register_execution_platforms(),在 WORKSPACE 檔案內宣告的平台。
標記:execution
- 累積共計
--extra_toolchains=<comma-separated list of options>
次 -
在工具鍊解析期間要考慮的工具鍊規則。工具鍊可以用確切目標或目標模式指定。系統會先考慮這些工具鍊,才會透過 register_toolchains() 在 WORKSPACE 檔案中宣告的工具鍊。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--grte_top=<a label>
預設值:查看說明-
已簽入的 libc 程式庫的標籤。跨工具鍊會選取預設值,您幾乎不需要覆寫這個值。
標記:action_command_lines
、affects_outputs
--host_compiler=<a string>
預設值:查看說明-
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,則系統會忽略這個欄位。
標記:loading_and_analysis
、execution
--host_crosstool_top=<a build target label>
預設值:查看說明-
根據預設,--crosstool_top 和 --compiler 選項也可用於主機設定。如果提供此標記,Bazel 會針對指定的 crosstool_top 使用預設的 libc 和編譯器。
標記:loading_and_analysis
、changes_inputs
、affects_outputs
--host_grte_top=<a label>
預設值:查看說明-
如有指定,這項設定會覆寫主機設定的 libc 頂層目錄 (--grte_top)。
標記:action_command_lines
、affects_outputs
--host_platform=<a build target label>
預設值:「」-
說明主機系統的平台規則標籤。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--[no]incompatible_disable_expand_if_all_available_in_flag_set
預設值:「true」-
如果為 true,Bazel 就不會允許在 flag_sets 中指定 expand_if_all_available(如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7008)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_dont_enable_host_nonhost_crosstool_features
預設值:「true」-
如果為 true,Bazel 不會在 c++ 工具鍊中啟用「host」和「非主機」功能 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7407)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enable_android_toolchain_resolution
預設值:「false」-
使用工具鍊解析度選取 Android 規則適用的 Android SDK (Starlark 和原生)
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enable_apple_toolchain_resolution
預設值:「false」-
使用工具鍊解析功能選取 Apple SDK 做為 Apple 規則 (Starlark 和原生)
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_make_thinlto_command_lines_standalone
預設值:「true」-
如果為 true,Bazel 不會針對 lto 索引指令列重複使用 C++ 連結動作指令列 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/6791)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain
預設值:「true」-
如果設為 true,Bazel 會在設定 cc_toolchain.cpu 和 cc_toolchain.compiler 屬性時進行申訴 (如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7075)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_remove_legacy_whole_archive
預設值:「true」-
如果設為 true,Bazel 預設不會將程式庫依附元件連結至整個封存檔 (如需遷移操作說明,請前往 https://github.com/bazelbuild/bazel/issues/7362)。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_require_ctx_in_configure_features
預設值:「true」-
如果為 true,Bazel 會在 cc_common.configure_features 中要求「ctx」參數 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7793)。
標記:loading_and_analysis
、incompatible_change
-
如果工具鍊支援的話,請使用介面共用物件。所有 ELF 工具鍊目前都支援這項設定。
標記:loading_and_analysis
、affects_outputs
、affects_outputs
--ios_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 iOS 應用程式的 iOS SDK 版本。如未指定,則會使用「xcode_version」的預設 iOS SDK 版本。
標記:loses_incremental_state
--macos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 macOS 應用程式的 macOS SDK 版本。如未指定,則會使用「xcode_version」的預設 macOS SDK 版本。
標記:loses_incremental_state
--minimum_os_version=<a string>
預設值:查看說明-
編譯目標的最低 OS 版本。
標記:loading_and_analysis
、affects_outputs
--platform_mappings=<a relative path>
預設值:「」-
對應檔案位置,說明在未設定任何平台時要使用的平台,或是平台已存在時該設定哪些標記。必須與主要工作區根目錄相對。預設值為「platform_mappings」(位於工作區根目錄下的檔案)。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--platforms=<a build target label>
預設值:「」-
平台規則的標籤,說明目前指令的目標平台。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--python2_path=<a string>
預設值:查看說明-
已淘汰,免人工管理。已由「--incompatible_use_Python_toolchains」停用。
標記:no_op
、deprecated
--python3_path=<a string>
預設值:查看說明-
已淘汰,免人工管理。已由「--incompatible_use_Python_toolchains」停用。
標記:no_op
、deprecated
--python_path=<a string>
預設值:查看說明-
為在目標平台上執行 Python 目標而叫用的 Python 解譯器絕對路徑。已淘汰;已透過 --incompatible_use_python_toolchains 停用。
標記:loading_and_analysis
、affects_outputs
--python_top=<a build target label>
預設值:查看說明-
代表 Python 解譯器叫用的 py_runtime 標籤,以便在目標平台上執行 Python 目標。已淘汰;已透過 --incompatible_use_python_toolchains 停用。
標記:loading_and_analysis
、affects_outputs
--target_platform_fallback=<a build target label>
預設:"@local_config_platform//:host"-
如未設定目標平台,且沒有任何平台對應項目與目前的標記組合相符,則應使用的平台規則標籤。
標記:affects_outputs
、changes_inputs
、loading_and_analysis
--tvos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 tvOS 應用程式的 tvOS SDK 版本。如未指定,則會使用「xcode_version」的預設 tvOS SDK 版本。
標記:loses_incremental_state
--watchos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
指定用於建構 watchOS 應用程式的 watchOS SDK 版本。如未指定,則會使用「xcode_version」的預設 watchOS SDK 版本。
標記:loses_incremental_state
--xcode_version=<a string>
預設值:查看說明-
如有指定,則會使用指定版本的 Xcode 執行相關建構動作。如未指定,則會使用 Xcode 的執行者預設版本。
標記:loses_incremental_state
--xcode_version_config=<a build target label>
預設值:"@bazel_tools//tools/cpp:host_xcodes"-
在建構設定中選取 Xcode 版本的 xcode_config 規則標籤。
標記:loses_incremental_state
、loading_and_analysis
- 控制指令輸出內容的選項:
--[no]apple_enable_auto_dsym_dbg
預設值:「false」-
指定是否要強制啟用 dbg 建構作業的偵錯符號 (.dSYM) 檔案。
標記:affects_outputs
、action_command_lines
--[no]apple_generate_dsym
預設值:「false」-
指定是否要產生偵錯符號檔案 (.dSYM)。
標記:affects_outputs
、action_command_lines
--[no]build_runfile_links
預設值:「true」-
如果為 true,請為所有目標建構執行檔案符號連結樹系。如果為 false,請盡可能僅寫入資訊清單。
標記:affects_outputs
--[no]build_runfile_manifests
預設值:「true」-
如果為 true,則會為所有目標寫入執行檔案資訊清單。如果設為 false,請略過這些字串。如果為 false,本機測試將無法執行。
標記:affects_outputs
--[no]build_test_dwp
預設值:「false」-
如果啟用,當以靜態方式建構 C++ 測試及進行斷言時,系統也會自動建構測試二進位檔的 .dwp 檔案。
標記:loading_and_analysis
、affects_outputs
--cc_proto_library_header_suffixes=<comma-separated list of options>
預設值:「.pb.h」-
可設定 cc_proto_library 建立的標題檔案的前置字串。
標記:affects_outputs
、loading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated list of options>
預設值:「.pb.cc」-
設定 cc_proto_library 建立的來源檔案前置字串。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_proto_descriptor_sets_include_source_info
預設值:「false」-
在 proto_library 中針對替代 Java API 版本執行額外操作。
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_proto_extra_actions
預設值:「false」-
在 proto_library 中針對替代 Java API 版本執行額外操作。
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_save_feature_state
預設值:「false」-
將已啟用和要求功能的狀態儲存為編譯的輸出內容。
標記:affects_outputs
、experimental
--fission=<a set of compilation modes>
預設值:「否」-
指定哪些編譯模式會使用 C++ 編譯和連結的 Fision。可以使用 {'fastbuild'、'dbg'、'opt'} 的任意組合或特殊值「yes」來啟用所有模式,而「no」則可停用所有模式。
標記:loading_and_analysis
、action_command_lines
、affects_outputs
--[no]incompatible_always_include_files_in_data
預設值:「true」-
如果設為 True,原生規則會在 runfile 中新增資料依附元件 <code>DefaultInfo.files</code>,以符合 Starlark 規則的建議行為 (https://bazel.build/extending/rules#runfiles_features_to_avoid)。
標記:affects_outputs
、incompatible_change
--[no]legacy_external_runfiles
預設值:「true」-
如果為 true,則除了 .runfiles/repo 之外,也為外部存放區建構 .runfiles/wsname/external/repo 下的外部存放區的 runfiles 符號連結樹系。
標記:affects_outputs
--[no]objc_generate_linkmap
預設值:「false」-
指定是否要產生連結對應檔案。
標記:affects_outputs
--[no]save_temps
預設值:「false」-
設定後,系統會儲存 gcc 的臨時輸出內容。包括 .s 檔案 (組合程式碼)、.i 檔案 (預先處理的 C) 和 .ii 檔案 (預先處理的 C++)。
標記:affects_outputs
- 這些選項可讓使用者設定預期的輸出內容,而不是影響其值:
- 累積共計
--action_env=<a 'name=value' assignment with an optional value part>
次 -
指定動作設定可用的環境變數組合。您可以透過名稱指定變數,在這種情況下,系統會擷取叫用環境的值,也可以由 name=value 組合指定變數的值,而不受叫用環境影響。此選項可以多次使用;對於同一個變數的指定選項,系統會將最近期的勝出結果以及各種變數的累積選項累積。
標記:action_command_lines
--android_cpu=<a string>
預設值:「armeabi-v7a」-
Android 目標 CPU。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]android_databinding_use_androidx
預設值:「false」-
產生與 AndroidX 相容的資料繫結檔案。這僅適用於資料繫結第 2 版。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]android_databinding_use_v3_4_args
預設值:「false」-
將 Android 資料繫結 v2 與 3.4.0 引數搭配使用
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--android_dynamic_mode=<off, default or fully>
預設值:「關閉」-
判斷當 cc_binary 未明確建立共用程式庫時,Android 規則的 C++ 依附元件是否會動態連結。「default」表示 bazel 會選擇是否要動態連結。「ly」表示所有程式庫會以動態方式連結。「off」表示在大部分靜態模式中,所有程式庫都會建立連結。
標記:affects_outputs
、loading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency>
預設值:「alphabetical」-
設定傳送至 Android 二進位檔資訊清單合併工具的資訊清單順序。ALPHABETICAL 表示資訊清單會依照相對於執行根的路徑排序。ALPHABETICAL_BY_CONFIGURATION 表示資訊清單是按照輸出目錄內設定目錄的路徑排序。DEPENDENCY 表示系統會依照每個程式庫的資訊清單,排在依附元件的資訊清單之前。
標記:action_command_lines
、execution
--[no]android_resource_shrinking
預設值:「false」-
使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記:affects_outputs
、loading_and_analysis
- 累積共計
--apple_bitcode=<'mode' or 'platform=mode', where 'mode' is none, embedded_markers or embedded, and 'platform' is ios, visionos, watchos, tvos, macos or catalyst>
次 -
針對指定裝置架構的編譯步驟指定 Apple 位元碼模式。值的格式為「[platform=]mode」,其中平台 (必須為「ios」、「macos」、「tvos」或「watchos」) 為選填。如有提供,位元碼模式僅適用於該平台;省略時,則會套用至所有平台。模式必須為「none」、「embedded_markers」或「embedded」。這個選項可多次提供。
標記:loses_incremental_state
--[no]build_python_zip
預設值:「auto」-
建構 Python 可執行 ZIP 檔;在 Windows 或其他平台上,關閉其他平台
標記:affects_outputs
- 累積共計
--catalyst_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple Catalyst 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--[no]collect_code_coverage
預設值:「false」-
如有指定,Bazel 會檢測程式碼 (盡可能使用離線檢測功能),並在測試期間收集涵蓋範圍資訊。只有符合 --instrumentation_filter 的目標會受到影響。通常您不應直接指定這個選項,應改用「bazelCoverage」指令。
標記:affects_outputs
--compilation_mode=<fastbuild, dbg or opt>
[-c
] 預設值:「Fastbuild」-
指定要建構二進位檔的模式。值:「fastbuild」、「dbg」、「opt」。
標記:affects_outputs
、action_command_lines
、explicit_in_output_path
- 累積共計
--conlyopt=<a string>
次 -
編譯 C 來源檔案時傳送至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--copt=<a string>
次 -
傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
--cpu=<a string>
預設值:「」-
目標 CPU。
標記:changes_inputs
、affects_outputs
、explicit_in_output_path
--cs_fdo_absolute_path=<a string>
預設值:查看說明-
使用 CSFDO 設定檔資訊最佳化編譯。指定內含設定檔、原始或已建立索引 LLVM 設定檔的 ZIP 檔案絕對路徑名稱。
標記:affects_outputs
--cs_fdo_instrument=<a string>
預設值:查看說明-
產生具有情境敏感 FDO 檢測的二進位檔。使用 Clang/LLVM 編譯器時,也接受要在執行階段傾印原始設定檔的目錄名稱。
標記:affects_outputs
--cs_fdo_profile=<a build target label>
預設值:查看說明-
代表要用於最佳化的情境敏感設定檔的 cs_fdo_profile。
標記:affects_outputs
- 累積共計
--cxxopt=<a string>
次 -
編譯 C++ 來源檔案時,將其他選項傳送至 gcc。
標記:action_command_lines
、affects_outputs
- 累積共計
--define=<a 'name=value' assignment>
次 -
每個 --define 選項會指定建構變數的指派方式。
標記:changes_inputs
、affects_outputs
--dynamic_mode=<off, default or fully>
預設值:「預設」-
判斷是否以動態連結 C++ 二進位檔。「default」代表 Bazel 選擇要以動態方式連結。「ly」表示所有程式庫會以動態方式連結。「off」表示在大部分靜態模式中,所有程式庫都會建立連結。
標記:loading_and_analysis
、affects_outputs
--[no]enable_fdo_profile_absolute_path
預設值:「true」-
如果已設定,使用 fdo_abs_profile_path 時會產生錯誤。
標記:affects_outputs
--[no]enable_runfiles
預設值:「auto」-
啟用執行檔案符號連結樹狀結構;根據預設,這項功能在 Windows 和其他平台上會關閉。
標記:affects_outputs
- 累積共計
--experimental_action_listener=<a build target label>
次 -
以切面方式已淘汰。使用 action_listener 將 extra_action 附加至現有的建構動作。
標記:execution
、experimental
--[no]experimental_android_compress_java_resources
預設值:「false」-
在 APK 中壓縮 Java 資源
標記:affects_outputs
、loading_and_analysis
、experimental
--[no]experimental_android_databinding_v2
預設值:「false」-
使用 Android 資料繫結 v2
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_android_resource_shrinking
預設值:「false」-
使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_android_rewrite_dexes_with_rex
預設值:「false」-
使用 Rex 工具重新編寫 dex 檔案
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]experimental_collect_code_coverage_for_generated_files
預設值:「false」-
如有指定,Bazel 也會針對產生的檔案產生涵蓋範圍資訊。
標記:affects_outputs
--experimental_objc_fastbuild_options=<comma-separated list of options>
預設值:「-O0,-DDEBUG=1」-
使用這些字串做為 objc Fastbuild 編譯器選項。
標記:action_command_lines
--[no]experimental_omitfp
預設值:「false」-
如果為 true,請使用 libunwind 來展開堆疊展開,並以 -fomit-frame-pointer 和 -fasync-unwind-tables 進行編譯。
標記:action_command_lines
、affects_outputs
、experimental
--[no]experimental_platform_in_output_dir
預設值:「false」-
如果為 true,輸出目錄名稱 (而不是 CPU) 會使用目標平台。
標記:affects_outputs
、experimental
--[no]experimental_use_llvm_covmap
預設值:「false」-
如果指定此選項,當啟用 collect_code_coverage 時,Bazel 會產生 llvm-cov 涵蓋率地圖資訊,而非 gcov。
標記:changes_inputs
、affects_outputs
、loading_and_analysis
、experimental
--fat_apk_cpu=<comma-separated list of options>
預設值:「armeabi-v7a」-
設定此選項會啟用 Fat APK,其中包含所有指定架構的原生二進位檔,例如--fat_apk_cpu=x86,armeabi-v7a. 如果指定此旗標,則 android_binary 規則的依附元件會忽略 --android_cpu。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]fat_apk_hwasan
預設值:「false」-
是否要建立 HWASAN 分割。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--fdo_instrument=<a string>
預設值:查看說明-
使用 FDO 檢測功能產生二進位檔。使用 Clang/LLVM 編譯器時,也接受要在執行階段傾印原始設定檔的目錄名稱。
標記:affects_outputs
--fdo_optimize=<a string>
預設值:查看說明-
使用 FDO 設定檔資訊最佳化編譯。指定內含 .gcda 檔案樹狀結構的 ZIP 檔案、內含自動設定檔的 afdo 檔案,或是 LLVM 設定檔的 ZIP 檔案的名稱。這個標記也接受指定為標籤的檔案 (例如 `//foo/bar:file.afdo`),您可能需要在對應的套件中新增「exports_files」指令,以及指向「fdo_profile」目標的標籤。這個旗標將由「fdo_profile」規則取代。
標記:affects_outputs
--fdo_prefetch_hints=<a build target label>
預設值:查看說明-
使用快取預先擷取提示。
標記:affects_outputs
--fdo_profile=<a build target label>
預設值:查看說明-
fdo_profile 代表要用於最佳化的設定檔。
標記:affects_outputs
- 累積共計
--features=<a string>
次 -
針對在目標設定中建構的目標,指定功能會預設為啟用或停用。指定 -<feature> 會停用功能。負特徵一律會覆寫正面特徵。另請參閱 --host_features
標記:changes_inputs
、affects_outputs
--[no]force_pic
預設值:「false」-
如果啟用,所有 C++ 編譯都會產生與位置無關的程式碼 (「-fPIC」),連結會優先使用 PIC 預先建構的程式庫,而非非 PIC 程式庫,而且連結會產生位置獨立的執行檔 (「-pie」)。
標記:loading_and_analysis
、affects_outputs
- 累積共計
--host_action_env=<a 'name=value' assignment with an optional value part>
次 -
指定具有主機或執行設定動作的可用環境變數組合。您可以透過名稱指定變數,在這種情況下,系統會擷取叫用環境的值,也可以由 name=value 組合指定變數的值,而不受叫用環境影響。此選項可以多次使用;對於同一個變數的指定選項,系統會將最近期的勝出結果以及各種變數的累積選項累積。
標記:action_command_lines
--host_compilation_mode=<fastbuild, dbg or opt>
預設值:「opt」-
指定在建構作業期間使用的工具模式。值:「fastbuild」、「dbg」、「opt」。
標記:affects_outputs
、action_command_lines
- 累積共計
--host_conlyopt=<a string>
次 -
針對主機工具編譯 C 來源檔案時,可以向 gcc 傳遞其他訊息的選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_copt=<a string>
次 -
針對主機工具傳遞至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
--host_cpu=<a string>
預設值:「」- 主機 CPU。
標記:changes_inputs
、affects_outputs
- 累積共計
--host_cxxopt=<a string>
次 -
針對主機工具傳遞至 gcc 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_features=<a string>
次 -
執行設定中建構的目標預設會啟用或停用指定功能。指定 -<feature> 會停用功能。負特徵一律會覆寫正值特徵。
標記:changes_inputs
、affects_outputs
--host_force_python=<PY2 or PY3>
預設值:查看說明-
覆寫主機設定的 Python 版本。可以是「PY2」或「PY3」。
標記:loading_and_analysis
、affects_outputs
- 累積共計
--host_linkopt=<a string>
次 -
連結主機工具時,可傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
--host_macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
主機目標的最低相容 macOS 版本。如未指定,則會使用「macos_sdk_version」。
標記:loses_incremental_state
- 累積共計
--host_per_file_copt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
在主機或執行設定中編譯特定檔案時,可以選擇將資料選擇性傳遞至 C/C++ 編譯器的選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--host_per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 在 //foo/ 中所有 cc 檔案的 gcc 指令列中 (bar.cc 除外) 新增 -O0 指令列選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--host_swiftcopt=<a string>
次 -
針對主機工具,將其他選項傳送至 swiftc。
標記:action_command_lines
、affects_outputs
--[no]incompatible_avoid_conflict_dlls
預設值:「true」-
啟用後,在 Windows 中由 cc_library 產生的所有 C++ 動態連結程式庫 (DLL) 都會重新命名為 name_{hash}.dll,其中雜湊值是根據 RepositoryName 和 DLL 的套件路徑計算。當您有一個依附於多個 cc_library 且名稱相同的套件 (例如 //foo/bar1:utils 和 //foo/bar2:utils) 時,這個選項就非常實用。
標記:loading_and_analysis
、affects_outputs
、incompatible_change
--[no]incompatible_merge_genfiles_directory
預設值:「true」-
如果為 true,genfiles 目錄會摺疊至 bin 目錄。
標記:affects_outputs
、incompatible_change
--[no]incompatible_use_host_features
預設值:「false」-
如果為 true,請只將 --features 用於目標設定,並將 --host_features 用於執行設定。
標記:changes_inputs
、affects_outputs
、incompatible_change
--[no]incompatible_use_platforms_repo_for_constraints
預設值:「true」-
如果為 true,系統會移除 @bazel_tools 的限制設定。
標記:affects_outputs
、incompatible_change
--[no]instrument_test_targets
預設值:「false」-
啟用涵蓋率功能時,會指定是否要考慮檢測測試規則。設定後,系統會檢測 --instrumentation_filter 包含的測試規則。否則,一律會從涵蓋率檢測中排除測試規則。
標記:affects_outputs
--instrumentation_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:"-/javatests[/:],-/test/java[/:]"-
啟用涵蓋率功能後,只有名稱包含指定規則運算式篩選器中名稱的規則,才會進行檢測。系統會改為排除前置字串「-」的規則。請注意,除非已啟用 --instrument_test_targets,系統只會檢測非測試規則。
標記:affects_outputs
--ios_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標模擬工具和裝置適用的最低相容 iOS 版本。如未指定,則會使用「ios_sdk_version」。
標記:loses_incremental_state
- 累積共計
--ios_multi_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 ios_application。結果是包含所有指定架構的通用二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--[no]legacy_whole_archive
預設值:「true」-
已淘汰,並由 --incompatible_remove_legacy_whole_Archive 取代 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7362)。開啟此設定後,請為含有 linkshared=True 和 linkstatic=True 或 -static' 的 linkopts 規則使用 --whole-Archive。這項資訊僅適用於回溯相容性。更好的做法是,在需要時使用 alwayslink=1。
標記:action_command_lines
、affects_outputs
、deprecated
- 累積共計
--linkopt=<a string>
次 -
在連結時傳送至 GCC 的其他選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--ltobackendopt=<a string>
次 -
另一個傳送至 LTO 後端步驟的選項 (位於 --features=thin_lto 下方)。
標記:action_command_lines
、affects_outputs
- 累積共計
--ltoindexopt=<a string>
次 -
還有其他選項可以傳送至 LTO 索引步驟 (位於 --features=thin_lto 下方)。
標記:action_command_lines
、affects_outputs
- 累積共計
--macos_cpus=<comma-separated list of options>
次 - 用於建構 Apple macOS 二進位檔的架構清單 (以半形逗號分隔)。
標記:loses_incremental_state
、loading_and_analysis
--macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標適用的最低相容 macOS 版本。如未指定,則會使用「macos_sdk_version」。
標記:loses_incremental_state
--[no]objc_debug_with_GLIBCXX
預設值:「false」-
如果已設定且編譯模式設為「dbg」,請定義 GLIBCXX_DEBUG、GLIBCXX_DEBUG_PEDANTIC 和 GLIBCPP_CONCEPT_CHECKS。
標記:action_command_lines
--[no]objc_enable_binary_stripping
預設值:「false」-
是否要在連結的二進位檔上執行符號和解碼清除程式碼。如果同時指定此旗標和 --compile_mode=opt,系統就會執行二進位檔清除。
標記:action_command_lines
- 累積共計
--objccopt=<a string>
次 -
編譯 Objective-C/C++ 來源檔案時,傳送至 gcc 的其他選項。
標記:action_command_lines
- 累積共計
--per_file_copt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
在其他編譯特定檔案時,選擇性地將資料傳送至 gcc 的選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 會將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案 (bar.cc 除外) 的 gcc 指令列中。
標記:action_command_lines
、affects_outputs
- 累積共計
--per_file_ltobackendopt=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths followed by an @ and a comma separated list of options>
次 -
編譯特定後端物件時,可選擇將其他選項傳送到 LTO 後端 (位於 --features=thin_lto 下方)。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,選項_n. regex_filter 代表包含及排除規則運算式模式的清單。選項_1 代表任意指令列選項。如果選項中包含半形逗號,則必須在引號中加上反斜線。選項可包含 @。系統只會使用第一個 @ 分割字串。範例:--per_file_ltoBackendopt=//foo/.*\.o,-//foo/bar\.o@-O0 在 //foo/ 中所有 o 檔案的 LTO 後端指令列中 ( bar.o 除外) 新增 -O0 指令列選項。
標記:action_command_lines
、affects_outputs
--platform_suffix=<a string>
預設值:查看說明- 指定要新增至設定目錄的後置字串。
標記:loses_incremental_state
、affects_outputs
、loading_and_analysis
--propeller_optimize=<a build target label>
預設值:查看說明-
使用 Propeller 設定檔資訊來最佳化建構目標。修飾符設定檔必須至少包含兩個檔案:1 個副本設定檔和 ld 設定檔。此旗標接受建構標籤,該標籤必須參照修飾符設定檔輸入檔案。例如,定義標籤的 BUILD 檔案:a/b/BUILD:propeller_optimize( name = "propeller_profile", cc_profile = "propeller_cc_profile.txt", ld_profile = "propeller_ld_profile.txt",) 您可能需要在對應的套件中新增匯出檔案指令,才能讓這些檔案顯示在對應的套件中。這個選項必須使用以下格式:--propeller_optimize=//a/b:propeller_profile
標記:action_command_lines
、affects_outputs
--propeller_optimize_absolute_cc_profile=<a string>
預設值:查看說明-
Propeller 最佳化建構作業的 cc_profile 檔案的絕對路徑名稱。
標記:affects_outputs
--propeller_optimize_absolute_ld_profile=<a string>
預設值:查看說明-
Propeller 最佳化建構作業的 ld_profile 檔案的絕對路徑名稱。
標記:affects_outputs
--run_under=<a prefix in front of command>
預設值:查看說明-
針對「test」和「run」指令,在執行檔之前插入的前置字串。如果值為「foo -bar」,且執行指令列是「test_binary -baz」,最後一行指令就是「foo -bar test_binary -baz」。這也可以做為可執行目標的標籤。範例包括:「valgrind」、「strace」、「'strace -c」、'valgrind --quiet --num-callers=20'」、「//package:target'」、「'//package:target --options'」。
標記:action_command_lines
-
如果為 true,含有相同功能的原生資料庫會在不同的目標之間共用
標記:loading_and_analysis
、affects_outputs
--[no]stamp
預設值:「false」-
含有日期、使用者名稱、主機名稱、工作區資訊等標記二進位檔。
標記:affects_outputs
--strip=<always, sometimes or never>
預設值:「偶爾」-
指定是否要移除二進位檔和共用程式庫 (使用「-Wl,--strip-debug」)。預設值「sometimes」表示去除 iff --compile_mode=fastbuild。
標記:affects_outputs
- 累積共計
--stripopt=<a string>
次 -
產生「<name>.stripped」二進位檔時,其他要傳遞至移除的選項。
標記:action_command_lines
、affects_outputs
- 累積共計
--swiftcopt=<a string>
次 -
傳送至 Swift 編譯的其他選項。
標記:action_command_lines
- 累積共計
--tvos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple tvOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--tvos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
目標模擬器和裝置適用的最低相容 tvOS 版本。如未指定,則會使用「tvos_sdk_version」。
標記:loses_incremental_state
- 累積共計
--visionos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple visionOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
- 累積共計
--watchos_cpus=<comma-separated list of options>
次 -
以半形逗號分隔的架構清單,用於建構 Apple watchOS 二進位檔。
標記:loses_incremental_state
、loading_and_analysis
--watchos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明- 目標模擬器和裝置適用的最低相容 watchOS 版本。如未指定,則會使用「watchos_sdk_version」。
標記:loses_incremental_state
--xbinary_fdo=<a build target label>
預設值:查看說明-
使用 XbinaryFDO 設定檔資訊最佳化編譯。指定預設跨二進位設定檔的名稱。這個選項與 --fdo_instrument/--fdo_optimize/--fdo_profile 搭配使用時,一律會以您從未指定 xbinary_fdo 的情況為準。
標記:affects_outputs
- 這些選項會影響 Bazel 嚴格強制執行有效建構輸入 (規則定義、標記組合等) 的方式:
--auto_cpu_environment_group=<a build target label>
預設值:「」- 宣告 environment_group,以自動將 CPU 值對應至 target_environment 值。
標記:changes_inputs
、loading_and_analysis
、experimental
--[no]check_licenses
預設值:「false」-
檢查相依套件設下的授權限制未與建構目標的發布模式相衝突。根據預設,系統不會勾選授權。
標記:build_file_semantics
--[no]check_visibility
預設值:「true」-
如果停用的話,目標依附元件中的瀏覽權限錯誤會降級為警告。
標記:build_file_semantics
--[no]desugar_for_android
預設值:「true」-
是否要在 DEX 之前對 Java 8 位元碼解碼。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]desugar_java8_libs
預設值:「false」-
指定是否要在舊版裝置的應用程式中加入支援的 Java 8 程式庫。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
、experimental
--[no]enforce_constraints
預設值:「true」-
檢查每個目標相容的環境,並在任何目標的依附元件不支援相同環境時回報錯誤
標記:build_file_semantics
--[no]experimental_allow_android_library_deps_without_srcs
預設值:「false」- 旗標可協助您轉換系統,不允許採用含有 deps 的 android_library 規則,如要預設推出這個功能,必須先清除庫房。
標記:eagerness_to_exit
、loading_and_analysis
--[no]experimental_check_desugar_deps
預設值:「true」-
是否要在 Android 二進位檔層級再次確認脫糖程序是否正確。
標記:eagerness_to_exit
、loading_and_analysis
、experimental
--experimental_import_deps_checking=<off, warning or error>
預設值:「關閉」-
啟用後,請檢查 aar_import 的依附元件是否已完成。這項強制執行作業可能會中斷建構作業,或是造成警告。
標記:loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default>
預設值:「預設」-
如果為 true,系統會檢查 Java 目標是否明確宣告所有直接使用的目標為依附元件。
標記:build_file_semantics
、eagerness_to_exit
--[no]incompatible_check_testonly_for_output_files
預設值:「false」-
啟用後,只要查詢產生規則的測試,只針對輸出檔案的前置目標進行測試。這與瀏覽權限檢查相符。
標記:build_file_semantics
、incompatible_change
--[no]incompatible_disable_native_android_rules
預設值:「false」-
啟用後,系統會停用直接使用原生 Android 規則的功能。請使用 https://github.com/bazelbuild/rules_android 中的 Starlark Android 規則
標記:eagerness_to_exit
、incompatible_change
--[no]incompatible_disable_native_apple_binary_rule
預設值:「false」-
免人工管理。如需回溯相容性,請保留在這裡。
標記:eagerness_to_exit
、incompatible_change
--[no]incompatible_force_strict_header_check_from_starlark
預設值:「true」-
啟用後,請在 Starlark API 中設定嚴格標頭檢查
標記:loading_and_analysis
、changes_inputs
、incompatible_change
--[no]incompatible_validate_top_level_header_inclusions
預設值:「true」-
如果為 true,Bazel 也會驗證頂層目錄標頭納入項目 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/10047)。
標記:loading_and_analysis
、incompatible_change
--[no]strict_filesets
預設值:「false」-
如果啟用這個選項,橫跨套件邊界的檔案集會回報為錯誤。停用 check_fileset_dependencies_recursive 時無法運作。
標記:build_file_semantics
、eagerness_to_exit
--strict_proto_deps=<off, warn, error, strict or default>
預設值:「錯誤」-
除非設為關閉,否則檢查 proto_library 目標是否明確宣告所有直接使用的目標為依附元件。
標記:build_file_semantics
、eagerness_to_exit
、incompatible_change
--strict_public_imports=<off, warn, error, strict or default>
預設值:「關閉」-
除非設為關閉,否則檢查 proto_library 目標是否明確宣告「import public」(匯入公開) 中使用的所有目標均已匯出。
標記:build_file_semantics
、eagerness_to_exit
、incompatible_change
--[no]strict_system_includes
預設值:「false」-
如果為 true,也需要宣告透過系統包含路徑 (-isystem) 的標頭。
標記:loading_and_analysis
、eagerness_to_exit
- 累積共計
--target_environment=<a build target label>
次 -
宣告此建構作業的目標環境。必須是「環境」規則的標籤參照。如有指定,所有頂層目標都必須與這個環境相容。
標記:changes_inputs
- 影響建構作業簽署輸出內容的選項:
--apk_signing_method=<v1, v2, v1_v2 or v4>
預設:「v1_v2」-
用於簽署 APK 的實作
標記:action_command_lines
、affects_outputs
、loading_and_analysis
--[no]device_debug_entitlements
預設值:「true」-
如果已設定此屬性,且編譯模式並非「選擇」,在簽署時,objc 應用程式就會包含偵錯授權。
標記:changes_inputs
--ios_signing_cert_name=<a string>
預設值:查看說明-
iOS 簽署用的憑證名稱。如未設定,則會改回佈建設定檔。如 Codesign 的手冊頁面 (SIGNING IDENTITIES) 所述,這可能是憑證的金鑰鏈身分偏好設定或憑證通用名稱 (子字串)。
標記:action_command_lines
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API。
--[no]incompatible_disallow_legacy_py_provider
預設值:「true」-
這項功能很快就會移除。
標記:loading_and_analysis
、incompatible_change
- 用於控管測試環境或測試執行工具行為的選項:
--[no]allow_analysis_failures
預設值:「false」-
如果為 true,規則目標分析失敗會導致目標為含有錯誤說明的 AnalysisFailureInfo 執行個體傳播,而不會導致建構失敗。
標記:loading_and_analysis
、experimental
--analysis_testing_deps_limit=<an integer>
預設值:「2000」-
透過含有 for_analysis_testing 設定轉換的規則屬性,設定遞移依附元件數量上限。如果超過這個限制,就會發生規則錯誤。
標記:loading_and_analysis
--[no]break_build_on_parallel_dex2oat_failure
預設值:「false」-
如果 dex2oat 動作失敗,會導致建構中斷,而不是在測試執行階段執行 dex2oat。
標記:loading_and_analysis
、experimental
--[no]experimental_android_use_parallel_dex2oat
預設值:「false」-
同時使用 dex2oat,可能會加快 android_test 的速度。
標記:loading_and_analysis
、host_machine_resource_optimizations
、experimental
--[no]ios_memleaks
預設值:「false」-
啟用檢查 ios_test 目標的記憶體流失情形。
標記:action_command_lines
--ios_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 iOS 應用程式時要模擬的裝置,例如「iPhone 6」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--ios_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時要在模擬器上執行的 iOS 版本。如果在規則中指定了目標裝置,系統會忽略 ios_test 規則。
標記:test_runner
- 累積共計
--runs_per_test=<a positive integer or test_regex@runs. This flag may be passed more than once>
次 - 指定每項測試的執行次數。如果這些嘗試基於任何原因失敗,整個測試都視為失敗。通常指定的值只是整數。範例:--runs_per_test=3 會執行所有測試 3 次。替代語法:regex_filter@runs_per_test。Run_per_test 代表整數值,regex_filter 代表包含及排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。範例:--runs_per_test=//foo/.*,-//foo/bar/.*@3 會在 //foo/ 中執行所有測試 (在 foo/bar 下執行三次測試)。這個選項可以多次傳遞。系統會優先採用最近傳遞的相符引數。如果沒有相符項目,系統只會執行一次測試。
- 累積共計
--test_env=<a 'name=value' assignment with an optional value part>
次 -
指定要將其他環境變數插入測試執行工具環境。您可以使用名稱指定變數,在這種情況下,系統會從 Bazel 用戶端環境或 name=value 組合讀取變數的值。這個選項可多次用於指定多個變數。僅由「bazel test」指令使用。
標記:test_runner
--test_timeout=<a single integer or comma-separated list of 4 integers>
預設值:「-1」- 覆寫測試逾時的預設測試逾時值 (以秒為單位)。如果指定單一正整數值,則會覆寫所有類別。如果指定 4 個以半形逗號分隔的整數,這些整數將覆寫短、中等、長號和橢圓的逾時值 (依序)。無論是哪一種形式,-1 值都會指示 blaze 使用該類別的預設逾時值。
--tvos_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 tvOS 應用程式時要模擬的裝置,例如「Apple TV 1080p」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--tvos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時要在模擬器上執行的 tvOS 版本。
標記:test_runner
--watchos_simulator_device=<a string>
預設值:查看說明-
在模擬器中執行 WatchOS 應用程式時要模擬的裝置,例如「Apple Watch - 38mm」。如要取得裝置清單,請在執行模擬器的機器上執行「xcrun simctl list devicetypes」。
標記:test_runner
--watchos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')>
預設值:查看說明-
執行或測試時,要在模擬器上執行的手錶版本。
標記:test_runner
--[no]zip_undeclared_test_outputs
預設值:「true」-
如果為 true,未宣告的測試輸出內容會封存成 ZIP 檔案。
標記:test_runner
- 與查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise>
預設值:「保守」-
當輸出格式是 {xml,proto,record} 時,如何解析長寬比的依附元件。「off」表示未解析任何顯示依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,均已新增所有宣告的依附元件。「精確」表示只有在直接依附元件的規則類別下,才會新增這些可能處於有效狀態的元件。請注意,您需要載入其他套件來評估單一目標,因此速度比其他模式慢。另請注意,即使是精確模式,也不一定完全準確:系統會在分析階段決定要計算某個面向,而這不會在「bazel 查詢」期間執行。
標記:build_file_semantics
--[no]consistent_labels
預設值:「false」-
如果啟用,每個查詢指令都會像套用 <code>Label</code> 標籤的 Starlark <code>str</code> 函式一樣發出標籤。這對於需要比對不同查詢指令輸出內容和/或規則產生的標籤的工具而言非常實用。如未啟用,輸出格式器就不會產生明顯的存放區名稱 (相對於主要存放區),改為讓輸出內容更容易閱讀。
標記:terminal_output
--[no]graph:factored
預設值:「true」-
如果為 True,圖表就會以「係數」形式進行,意即邏輯對等節點會合併,並串連這些節點。這個選項僅適用於 --output=graph。
標記:terminal_output
--graph:node_limit=<an integer>
預設值:「512」-
輸出內容中圖表節點的標籤字串長度上限,較長的標籤將遭到截斷;-1 表示不會遭到截斷。這個選項僅適用於 --output=graph。
標記:terminal_output
--[no]implicit_deps
預設值:「true」-
如果啟用,隱含依附元件將包含在查詢作業的依附元件圖表中。隱含依附元件是指 BUILD 檔案中未明確指定,但是由 bazel 新增的依附元件。針對 cquery,這個選項可控制已解析的工具鍊。
標記:build_file_semantics
--[no]include_aspects
預設值:「true」- 查詢, cquery: 是否在輸出中納入由面向產生的動作。 query:no-op (一律會遵循指定順序)。
標記:terminal_output
--[no]incompatible_display_source_file_location
預設值:「true」-
預設為 True,會顯示來源檔案的目標。如為 true,則在位置輸出中,顯示來源檔案第 1 行的位置。這個旗標只會用於遷移。
標記:terminal_output
、incompatible_change
--[no]incompatible_package_group_includes_double_slash
預設值:「true」-
如果啟用此功能,輸出 package_group 的 `packages` 屬性時,系統不會省略開頭的 `//`。
標記:terminal_output
、incompatible_change
--[no]infer_universe_scope
預設值:「false」-
如果未設定且未設定 --universe_scope,系統就會推斷查詢運算式中 --universe_scope 的值,做為不重複目標模式清單。請注意,針對使用宇宙範圍函式 (例如「allrdeps」) 的查詢運算式所推測的 --universe_scope 值,不一定符合需求,因此,建議只在知道相關做法的情況下才使用這個選項。如需詳細資訊和範例,請前往 https://bazel.build/reference/query#sky-query。如果設定了 --universe_scope,系統就會忽略此選項的值。注意:這個選項僅適用於「query」(而不是「cquery」)。
標記:loading_and_analysis
--[no]line_terminator_null
預設值:「false」-
表示各種格式會以 \0 結尾 (而非換行符號)。
標記:terminal_output
--[no]nodep_deps
預設值:「true」-
如果啟用,「nodep」屬性的部分就會包含在查詢作業的依附元件圖表中。「nodep」屬性的常見例子為「visibility」。執行並剖析「info build-language」的輸出內容,瞭解建構語言中的所有「nodep」屬性。
標記:build_file_semantics
--output=<a string>
預設值:「label」-
查詢查詢結果的列印格式。cquery 允許的值為:label、label_Kind、textproto、Transitions、proto、jsonproto。如果您選取「轉換」,就必須一併指定「--transitions=(lite|full)」選項。
標記:terminal_output
--[no]proto:default_values
預設值:「true」-
如果設為 true,系統將納入 BUILD 檔案中未明確指定值的屬性,否則會省略。這個選項適用於 --output=proto
標記:terminal_output
--[no]proto:definition_stack
預設值:「false」-
填入 definition_stack proto 欄位,系統會在定義規則類別時,記錄每個規則例項的 Starlark 呼叫堆疊。
標記:terminal_output
--[no]proto:flatten_selects
預設值:「true」-
啟用後,由 select() 建立的可設定屬性會經過分割。以清單類型來說,整併表示法是一份清單,其中包含所選地圖的每個值。純量類型會整併為空值。
標記:build_file_semantics
--[no]proto:include_configurations
預設值:「true」-
如果啟用,proto 輸出內容會包含設定相關資訊。停用後,cquery proto 輸出格式類似於查詢輸出格式。
標記:affects_outputs
--[no]proto:include_synthetic_attribute_hash
預設值:「false」-
是否要計算並填入 $internal_attr_hash 屬性。
標記:terminal_output
--[no]proto:instantiation_stack
預設值:「false」-
填入每個規則的例項化呼叫堆疊。請注意,堆疊必須具有
標記:terminal_output
--[no]proto:locations
預設值:「true」-
指定是否要在 proto 輸出中輸出位置資訊。
標記:terminal_output
--proto:output_rule_attrs=<comma-separated list of options>
預設值:「全部」-
要納入輸出的屬性清單 (以半形逗號分隔)。預設值為所有屬性。設為空白字串,不輸出任何屬性。這個選項適用於 --output=proto。
標記:terminal_output
--[no]proto:rule_inputs_and_outputs
預設值:「true」-
是否要填入 Rules_input 和 Rules_output 欄位。
標記:terminal_output
--query_file=<a string>
預設值:「」-
如果已設定,查詢就會從這裡命名的檔案讀取查詢,而不是透過指令列讀取查詢。在這裡指定檔案和指令列查詢會發生錯誤。
標記:changes_inputs
--[no]relative_locations
預設值:「false」-
如果為 true,XML 和 proto 輸出中的 BUILD 檔案位置是相對位置。根據預設,位置輸出內容為絕對路徑,且在不同電腦上不會一致。只要將這個選項設為 true,就能讓不同機器的結果保持一致。
標記:terminal_output
--show_config_fragments=<off, direct or transitive>
預設值:「關閉」-
顯示規則所需的設定片段及其遞移依附元件。這有助於評估可修剪已設定的目標圖表比例。
標記:affects_outputs
--starlark:expr=<a string>
預設值:「」-
這個 Starlark 運算式可設定 cquery --output=starlark 模式下每個已設定的目標。已設定的目標與「目標」繫結在一起。如未指定 --starlark:expr 或 --starlark:file,則這個選項會預設為「str(target.label)」。同時指定 --starlark:expr 和 --starlark:file 會發生錯誤。
標記:terminal_output
--starlark:file=<a string>
預設值:「」-
這是一個檔案名稱,用來定義名為「format」的 Starlark 函式。該函式將套用至各個已設定的目標,以字串格式表示。同時指定 --starlark:expr 和 --starlark:file 會發生錯誤。詳情請參閱 --output=starlark 說明。
標記:terminal_output
--[no]tool_deps
預設值:「true」-
查詢:如果停用,「主機設定」或「執行」目標的依附元件就不會納入查詢作業的依附元件圖表。「主機設定」依附元件邊緣 (例如從任何「proto_library」規則到通訊協定編譯器的邊緣),通常會指向在建構期間執行的工具,而不是同一個「target」程式的一部分。Cquery:如果停用這項設定,系統會篩除從找到這個設定目標的頂層目標,篩選出跨主機或執行轉換的所有已設定目標。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於主機設定,系統只會傳回主機設定的目標。這個選項「不會」排除已解析的工具鍊。
標記:build_file_semantics
--transitions=<full, lite or none>
預設值:「無」-
cquery 列印轉換資訊的格式。
標記:affects_outputs
--universe_scope=<comma-separated list of options>
預設值:「」-
以半形逗號分隔的目標模式組合 (相加和減法)。這項查詢可以由指定目標的轉換封閉定義,在宇宙中執行。這個選項用於查詢和 cquery 指令。針對 cquery,這個選項的輸入內容是以所有答案為基礎建構,因此這個選項可能會影響設定和轉換作業。如果未指定此選項,系統會假設頂層目標為從查詢運算式剖析的目標。注意:針對 cquery,如果不指定此選項,則無法使用頂層選項建構從查詢運算式剖析的目標時,可能會導致建構中斷。
標記:loading_and_analysis
- 會觸發建構時間最佳化的選項:
--[no]collapse_duplicate_defines
預設值:「false」-
啟用後,冗餘 (定義) 會在建構初期移除。這可以避免對特定類型的對等建構作業進行不必要的分析快取。
標記:loading_and_analysis
、loses_incremental_state
--[no]experimental_filter_library_jar_with_program_jar
預設值:「false」-
篩選 ProGuard ProgramJar,移除 LibraryJar 中的任何類別。
標記:action_command_lines
--[no]experimental_inmemory_dotd_files
預設值:「true」-
啟用後,C++ .d 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記:loading_and_analysis
、execution
、affects_outputs
、experimental
--[no]experimental_inmemory_jdeps_files
預設值:「true」-
啟用後,由 Java 編譯產生的依附元件 (.jdeps) 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記:loading_and_analysis
、execution
、affects_outputs
、experimental
--[no]experimental_objc_include_scanning
預設值:「false」-
是否要對目標 C/C++ 執行納入掃描。
標記:loading_and_analysis
、execution
、changes_inputs
--[no]experimental_parse_headers_skipped_if_corresponding_srcs_found
預設值:「false」-
啟用後,如果在同一個目標中發現具有相同基本名稱的來源,則 parse_headers 功能不會另外建立標頭編譯動作。
標記:loading_and_analysis
、affects_outputs
--[no]experimental_retain_test_configuration_across_testonly
預設值:「false」-
啟用後,--trim_test_configuration 就不會針對標示為 testonly=1 的規則修剪測試設定。這是為了減少非測試規則依附於 cc_test 規則時的操作衝突問題。如果 --trim_test_configuration 為 false,則不會產生任何影響。
標記:loading_and_analysis
、loses_incremental_state
--[no]experimental_starlark_cc_import
預設值:「false」-
如果啟用,就能使用 cc_import 的 Starlark 版本。
標記:loading_and_analysis
、experimental
--[no]experimental_unsupported_and_brittle_include_scanning
預設值:「false」-
是否要剖析輸入檔案中的 #include 行,藉此將輸入範圍縮小至 C/C++ 編譯。這麼做可以減少編譯輸入樹狀結構的大小,藉此提升效能與成效增幅。不過,這也可能破壞建構作業,因為 include 掃描器並未完整實作 C 預先處理器語意。具體來說,它無法理解動態 #include 指令,而且會忽略預先處理器的條件邏輯。使用時需自行承擔風險。我們將關閉所有與這項標記有關的問題。
標記:loading_and_analysis
、execution
、changes_inputs
--[no]incremental_dexing
預設值:「true」-
這大部分工作會分別針對每個 Jar 檔案執行 DEX 處理。
標記:affects_outputs
、loading_and_analysis
、loses_incremental_state
--[no]objc_use_dotd_pruning
預設值:「true」-
設定後,系統會使用 clang 發出的 .d 檔案來修剪傳遞至 objc 編譯的輸入組合。
標記:changes_inputs
、loading_and_analysis
--[no]process_headers_in_dependencies
預設值:「false」-
建構目標 //a:a 時,請處理所有 //a:a 相依目標中的標頭 (如果工具鍊已啟用標頭處理功能)。
標記:execution
--[no]trim_test_configuration
預設值:「true」-
啟用後,系統會在建構的頂層下方清除測試相關選項。這個標記啟用後,就無法將測試建構為非測試規則的依附元件,但如果變更測試相關選項,系統不會重新分析非測試規則。
標記:loading_and_analysis
、loses_incremental_state
--[no]use_singlejar_apkbuilder
預設值:「true」-
這個選項已淘汰。這項功能目前為免人工管理,不久後就會移除。
標記:loading_and_analysis
- 影響記錄詳細程度、格式或位置的選項:
--toolchain_resolution_debug=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:「-.*」-
在工具鍊解析期間列印偵錯資訊。這個標記會採用規則運算式,系統會檢查工具鍊類型和特定目標,找出要偵錯的項目。您可以使用半形逗號分隔多個規則運算式,然後分別檢查每個規則運算式。注意:此標記的輸出內容非常複雜,可能只有工具鍊解析的專家才有用。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
- 累積共計
--flag_alias=<a 'name=value' flag alias>
次 -
設定 Starlark 標記的簡稱。它會採用格式為「<key>=<value>」的單一鍵/值組合做為引數。
標記:changes_inputs
--[no]incompatible_default_to_explicit_init_py
預設值:「false」-
這個標記會變更預設行為,因此系統不會再於 Python 目標的執行檔案中自動建立 __init__.py 檔案。精確來說,如果 py_binary 或 py_test 目標將 legacy_create_init 設為「auto」(預設值),只有在設定了此標記時,系統才會將這個值視為 false。請參閱 https://github.com/bazelbuild/bazel/issues/10076。
標記:affects_outputs
、incompatible_change
--[no]incompatible_py2_outputs_are_suffixed
預設值:「true」-
如果為 true,在 Python 2 設定中建立的目標會顯示在包含後置字串「-py2」的輸出根下,而針對 Python 3 建構的目標則會顯示在根層級中,而且不會顯示 Python 相關後置字串。這表示「bazel-bin」便利符號連結會指向 Python 3 目標,而非 Python 2。如果啟用這個選項,我們也建議你啟用「--incompatible_py3_is_default」。
標記:affects_outputs
、incompatible_change
--[no]incompatible_py3_is_default
預設值:「true」-
如果設為 true,未設定「Python_version」(或「default_python_version」) 屬性的「py_binary」和「py_test」目標將預設為 PY3,而非 PY2。如果設定這個標記,我們也建議你設定「--incompatible_py2_outputs_are_suffixed」。
標記:loading_and_analysis
、affects_outputs
、incompatible_change
--[no]incompatible_use_python_toolchains
預設值:「true」-
如果設為 true,可執行的原生 Python 規則將使用 Python 工具鍊指定的 Python 執行階段,而非由 --python_top 等舊版旗標指定的執行階段。
標記:loading_and_analysis
、incompatible_change
--python_version=<PY2 or PY3>
預設值:查看說明-
Python 主要版本模式,可以是「PY2」或「PY3」。請注意,「py_binary」和「py_test」目標會遭到覆寫 (即使這些目標並未明確指定版本),所以通常沒有什麼原因需要提供這個標記。
標記:loading_and_analysis
、affects_outputs
、explicit_in_output_path
- 其他選項,未分類。
--[no]cache_test_results
[-t
] 預設值:「auto」- 如果設為「auto」,Bazel 只會在下列情況下重新執行測試:(1) Bazel 偵測到測試或其依附元件中的變更;(2) 將測試標示為外部;(3) 使用 --runs_per_test 要求多項測試執行作業,或(4) 先前測試失敗。如果設為「是」,Bazel 會快取所有測試結果,但標示為外部的測試除外。如果設為「no」,Bazel 不會快取任何測試結果。
--[no]experimental_cancel_concurrent_tests
預設值:「false」-
如果為 true,Blaze 會在第一次成功執行時取消並行執行測試。這個方法只適合與 --runs_per_test_detects_flakes 搭配使用。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_fetch_all_coverage_outputs
預設值:「false」-
如果為 true,Bazel 會在涵蓋範圍執行期間擷取每項測試的完整涵蓋範圍資料目錄。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_generate_llvm_lcov
預設值:「false」-
如果為 true,Clang 的涵蓋範圍將產生 LCOV 報告。
標記:affects_outputs
、loading_and_analysis
--[no]experimental_j2objc_header_map
預設值:「true」- 是否要同時產生 J2ObjC 標頭對應,用於 J2ObjC 轉譯。
--[no]experimental_j2objc_shorter_header_path
預設值:「false」-
是否要使用較短的標頭路徑產生 (使用「_ios」,而非「_j2objc」)。
標記:affects_outputs
--experimental_java_classpath=<off, javabuilder or bazel>
預設值:「javabuilder」- 啟用減少 Java 編譯的類別路徑。
--[no]experimental_limit_android_lint_to_android_constrained_java
預設值:「false」-
將 --experimental_run_android_lint_on_java_rules 限制為與 Android 相容的程式庫。
標記:affects_outputs
--[no]experimental_run_android_lint_on_java_rules
預設值:「false」-
是否驗證 java_* 來源。
標記:affects_outputs
--[no]explicit_java_test_deps
預設值:「false」- 在 java_test 中明確指定 JUnit 或 Hamcrest 的依附元件,而非意外從 TestRunner 的依附元件取得。目前僅適用於邊框。
--host_java_launcher=<a build target label>
預設值:查看說明- 在建構期間所執行工具使用的 Java 啟動器。
- 累積共計
--host_javacopt=<a string>
次 - 建構在建構期間執行的工具時,可傳遞至 javac 的選項。
- 累積共計
--host_jvmopt=<a string>
次 - 建構在建構期間執行的工具時,傳送至 Java VM 的其他選項。這些選項會新增至每個 java_binary 目標的 VM 啟動選項中。
--[no]incompatible_check_sharding_support
預設值:「false」-
如果為 true,Bazel 會在測試執行工具中輕觸 TEST_SHARD_STATUS_FILE 路徑中的檔案,表示支援資料分割測試。如果為 false,不支援資料分割的測試執行器會導致每個資料分割中的所有測試執行。
標記:incompatible_change
--[no]incompatible_exclusive_test_sandboxed
預設值:「false」-
如果為 true,獨家測試會以沙箱策略執行。新增「local」標記,強制在本機執行專屬測試
標記:incompatible_change
--[no]incompatible_strict_action_env
預設值:「false」-
如果為 true,Bazel 會使用具有靜態值的 PATH 環境,且不會沿用 LD_LIBRARY_PATH。如果想要繼承用戶端的特定環境變數,請使用 --action_env=ENV_VARIABLE,但請注意,這樣在使用共用快取時,就能避免跨使用者快取。
標記:loading_and_analysis
、incompatible_change
- 累積共計
--j2objc_translation_flags=<comma-separated list of options>
次 - 傳送至 J2ObjC 工具的其他選項。
--java_debug
-
使用 Java 測試的 Java 虛擬機器,等待從與 JDWP 相容的偵錯工具 (例如 jdb) 建立連線後,再開始測試。隱含 -test_output=streamed。
展開至:
--test_arg=--wrapper_script_flag=--debug
--test_output=streamed
--test_strategy=exclusive
--test_timeout=9999
--nocache_test_results
--[no]java_deps
預設值:「true」- 為每個 Java 目標產生依附元件資訊 (目前是編譯時間類別路徑)。
--[no]java_header_compilation
預設值:「true」- 直接從來源編譯 ijar。
--java_language_version=<a string>
預設值:「8」- Java 版本
--java_launcher=<a build target label>
預設值:查看說明- 建構 Java 二進位檔時使用的 Java 啟動器。如果此旗標設為空白字串,系統會使用 JDK 啟動器。「launcher」屬性會覆寫這個標記。
--java_runtime_version=<a string>
預設值:「local_jdk」- Java 執行階段版本
- 累積共計
--javacopt=<a string>
次 - 傳送至 javac 的其他選項。
- 累積共計
--jvmopt=<a string>
次 - 傳送至 Java VM 的其他選項。這些選項會新增至每個 java_binary 目標的 VM 啟動選項中。
--legacy_main_dex_list_generator=<a build target label>
預設值:查看說明- 指定在編譯舊版 Multidex 時,用來產生類別清單的二進位檔。
- 累積共計
--plugin=<a build target label>
次 - 用於版本中的外掛程式。目前可與 java_plugin 搭配使用。
--proguard_top=<a build target label>
預設值:查看說明- 指定建構 Java 二進位檔時,使用哪個 ProGuard 版本移除程式碼。
--proto_compiler=<a build target label>
預設值:"@bazel_tools//tools/proto:protoc"- proto- 編譯器的標籤。
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_cc=<a build target label>
預設值:"@bazel_tools//tools/proto:cc_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 C++ proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_j2objc=<a build target label>
預設值:"@bazel_tools//tools/j2objc:j2objc_proto_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 j2objc proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_java=<a build target label>
預設值:"@bazel_tools//tools/proto:java_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 Java proto
標記:affects_outputs
、loading_and_analysis
--proto_toolchain_for_javalite=<a build target label>
預設值:"@bazel_tools//tools/proto:javalite_toolchain"-
proto_lang_toolchain() 標籤,說明如何編譯 JavaLite proto
標記:affects_outputs
、loading_and_analysis
- 累積共計
--protocopt=<a string>
次 -
傳送至 protobuf 編譯器的其他選項。
標記:affects_outputs
--[no]runs_per_test_detects_flakes
預設值:「false」- 如果為 true,只要至少有一項執行作業/嘗試通過,且至少有一個執行/嘗試失敗的資料分割,就會獲得 FLAKY 狀態。
--shell_executable=<a path>
預設值:查看說明-
供 Bazel 使用的殼層執行檔的絕對路徑。如未設定,但 Bazel 會在首次叫用 (啟動 Bazel 伺服器) 時設定 BAZEL_SH 環境變數,如果未設定,Bazel 會根據執行時使用的作業系統使用硬式編碼預設路徑 (Windows:c:/tools/msys64/usr/bin/bash.exe、FreeBSD: /usr/local/bin/bash,所有其他項目:/bin/bash)。請注意,使用與 bash 不相容的殼層可能會導致產生的二進位檔出現建構失敗或執行階段失敗。
標記:loading_and_analysis
- 累積共計
--test_arg=<a string>
次 - 指定要傳送至測試執行檔的其他選項和引數。可多次用於指定多個引數。如果執行多項測試,每個測試都會收到相同的引數。僅由「bazel test」指令使用。
--test_filter=<a string>
預設值:查看說明- 指定要傳送至測試架構的篩選器。用於限制測試執行。請注意,這不會影響建構的目標。
--test_result_expiration=<an integer>
預設值:「-1」- 這個選項已淘汰,不會產生任何作用。
--[no]test_runner_fail_fast
預設值:「false」- 將失敗的快速選項轉送至測試執行器。測試執行工具應在首次失敗時停止執行。
--test_sharding_strategy=<explicit or disabled>
預設值:「明確」- 指定測試資料分割的策略:「明確」,只有在「shard_count」BUILD 屬性存在時,才會使用資料分割。「已停用」:一律不使用測試資料分割。
--tool_java_language_version=<a string>
預設值:「8」- 用於執行建構期間所需工具的 Java 語言版本
--tool_java_runtime_version=<a string>
預設值:「remotejdk_11」- 用於在建構期間執行工具的 Java 執行階段版本
--[no]use_ijars
預設值:「true」- 啟用後,這個選項會讓 Java 編譯使用介面 Jar。這會造成漸進式編譯速度更快,但錯誤訊息可能有所不同。
Dump 選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制指令輸出內容的選項:
--[no]action_cache
預設值:「false」-
Dump 動作快取內容。
標記:bazel_monitoring
--[no]packages
預設值:「false」-
Dump 套件快取內容。
標記:bazel_monitoring
--[no]rule_classes
預設值:「false」-
Dump 規則類別。
標記:bazel_monitoring
--[no]rules
預設值:「false」-
Dump 規則,包括次數和記憶體用量 (如果追蹤記憶體)。
標記:bazel_monitoring
--skyframe=<off, summary, count, deps or rdeps>
預設值:「關閉」-
Dump SkyFrame 圖表:「off」、「summary」、「count」、「deps」或「rdeps」。
標記:bazel_monitoring
--skykey_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths>
預設值:「.*」-
要輸出的 SkyKey 名稱規則運算式篩選器。只能搭配 --skyframe=deps, rdeps 使用。
標記:bazel_monitoring
--skylark_memory=<a string>
預設值:查看說明-
將與 pprof 相容的記憶體設定檔儲存至指定路徑。詳情請參閱 https://github.com/google/pprof。
標記:bazel_monitoring
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、旗標組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
擷取選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--[no]incompatible_remote_dangling_symlinks
預設值:「true」-
如果設為 true,且 --incompatible_remote_symlinks 也設為 True,則動作輸出中的符號連結可以使用。
標記:execution
、incompatible_change
--[no]incompatible_remote_symlinks
預設值:「true」-
如果設為 True,Bazel 會在遠端快取/執行通訊協定的動作輸出中代表符號連結。否則,系統會追蹤符號連結,並以檔案或目錄表示。詳情請參閱 #6631。
標記:execution
、incompatible_change
--[no]keep_going
[-k
] 預設值:「false」-
發生錯誤後請盡可能繼續。雖然無法分析失敗的目標和依附於該目標的部分,但可以採用這些目標的其他必要條件。
標記:eagerness_to_exit
--loading_phase_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
用於載入/分析階段的平行執行緒數量。可使用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要在後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據主機資源設定合理的預設值。不得小於 1,
標記:bazel_internal_configuration
- 可讓使用者設定預期的輸出內容,影響其值 (而非存在):
--bep_maximum_open_remote_upload_files=<an integer>
預設值:「-1」-
上傳 BEP 構件時允許的開啟檔案數量上限。
標記:affects_outputs
--remote_download_minimal
-
系統不會將任何遠端建構輸出內容下載至本機電腦。此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=minimal。
展開為:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=minimal
標記:affects_outputs
--remote_download_outputs=<all, minimal or toplevel>
預設值:「全部」-
如果設為「minimal」,系統不會將任何遠端建構輸出內容下載至本機電腦,但本機動作所需的輸出內容除外。如果設為「頂層」,運作原理就像是「最低」,但同時會將頂層目標的輸出內容下載至本機電腦。如果網路頻寬會造成瓶頸,這兩種選項可以大幅縮短建構時間。
標記:affects_outputs
--remote_download_symlink_template=<a string>
預設值:「」-
建立符號連結,而不要將遠端建構輸出內容下載到本機電腦。符號連結的目標可以使用範本字串的形式指定。這個範本字串可能包含 {hash} 和 {size_bytes},這些字串會分別展開至物件的雜湊和大小 (以位元組為單位)。例如,這些符號連結可能會指向可以隨選載入 CAS 物件的 FUSE 檔案系統。
標記:affects_outputs
--remote_download_toplevel
-
只將頂層目標的遠端輸出內容下載到本機電腦,此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=toplevel。
範圍擴展為:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=toplevel
標記:affects_outputs
- 與 Bazel 嚴格強制執行建構輸入項目 (規則定義、旗標組合等) 時相關的選項:
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--experimental_repository_resolved_file=<a string>
預設值:「」-
如果非空白,請編寫 Starlark 值,並提供已執行的所有 Starlark 存放區規則解析資訊。
標記:affects_outputs
--remote_print_execution_messages=<failure, success or all>
預設值:「failure」-
選擇列印遠端執行訊息的時機。有效值為「failure」,僅顯示失敗時列印,「success」只會列印成功,而「all」則一律列印。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_circuit_breaker_strategy=<failure>
預設值:查看說明-
指定斷路器要使用的策略。可用的策略「失敗」。選項的值無效時,系統不會設定該選項的行為。
標記:execution
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
--[no]experimental_guard_against_concurrent_changes
預設值:「false」- 關閉這項功能後,系統就不會在將動作上傳到遠端快取前,先檢查輸入檔案的時時檢查時間。在某些情況下,Linux kernel 會延遲寫入檔案,導致出現誤判狀況。
--experimental_remote_build_event_upload=<all or minimal>
預設值:「全部」- 如果設為「all」,BEP 參照的所有本機輸出都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出將不會上傳到遠端快取,除非是 BEP 使用者的重要檔案 (例如測試記錄和時間設定檔)。此外,即使遠端快取缺少這些檔案,系統仍會將 bytestream:// scheme 用於檔案 URI。 預設為「all」。
--[no]experimental_remote_cache_async
預設值:「false」- 如果為 true,系統會在背景中執行遠端快取 I/O,而不會做為產生作業的一部分進行。
--[no]experimental_remote_cache_compression
預設值:「false」- 如果已啟用,請使用 zstd 來壓縮/解壓縮快取 blob。
--experimental_remote_capture_corrupted_outputs=<a path>
預設值:查看說明- 用於擷取損毀輸出內容的目錄路徑。
--[no]experimental_remote_discard_merkle_trees
預設值:「false」- 如果設為 true,在呼叫 GetActionResult() 和 Execute() 時,捨棄輸入根樹狀結構的 Merkle 樹狀結構和相關聯的輸入對應記憶體內副本。這可大幅降低記憶體用量,但 Bazel 會在遠端快取失敗及重試時重新計算記憶體用量。
--experimental_remote_downloader=<a string>
預設值:查看說明- Remote Asset API 端點 URI,可做為遠端下載 Proxy 使用。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。詳情請參閱:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_downloader_local_fallback
預設值:「false」- 如果遠端下載工具失敗,是否要改回本機下載工具。
--[no]experimental_remote_execution_keepalive
預設值:「false」- 是否要針對遠端執行呼叫使用 Keepalive。
--experimental_remote_failure_rate_threshold=<an integer in 0-100 range>
預設值:「10」-
設定特定時間範圍的失敗率 (百分比),超過該值後就會停止呼叫遠端快取/執行程式。預設值為 10。將這個值設為 0 表示沒有限制。
標記:execution
--experimental_remote_failure_window_interval=<An immutable length of time.>
預設值:「60 秒」-
計算遠端要求失敗率的間隔時間。如果值為 0 或負數,則會計算失敗持續時間的整個期間。您可以使用下列單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
標記:execution
--[no]experimental_remote_mark_tool_inputs
預設值:「false」- 如果設為 True,Bazel 會將輸入內容標示為遠端執行器的工具輸入內容。這可用於實作遠端永久工作站。
--[no]experimental_remote_merkle_tree_cache
預設值:「false」- 如果設為 True,系統會記下 Merkle 樹狀圖的計算結果,以改善遠端快取命中檢查的速度。快取的記憶體足跡是由 --experimental_remote_merkle_tree_cache_size 控管。
--experimental_remote_merkle_tree_cache_size=<a long integer>
預設值:「1000」- 要提高遠端快取命中檢查速度的 Merkle 樹狀結構數量。即使快取會根據 Java 處理軟參照的方式自動截斷,如果設定過高,也可能會發生記憶體不足錯誤。如果設為 0,則快取大小則沒有限制。最佳值會因專案大小而異。預設值為 1000。
--[no]experimental_remote_require_cached
預設值:「false」- 如果設為 True,強制系統只快取可從遠端執行的所有動作,否則建構會失敗。這有助於解決非確定性問題,因為可以檢查系統是否應該快取要快取的動作,而不會明確將新結果插入快取。
--[no]incompatible_remote_build_event_upload_respect_no_cache
預設值:「false」- 如果設為 true,BEP 參照的輸出內容就不會上傳到遠端快取,但若無法從遠端快取產生的動作。
--[no]incompatible_remote_downloader_send_all_headers
預設值:「true」-
指定是否將多值標頭的所有值 (而非第一個) 傳送至遠端下載工具。
標記:incompatible_change
--[no]incompatible_remote_output_paths_relative_to_input_root
預設值:「false」-
如果設為 true,輸出路徑是相對於輸入根目錄,而不是工作目錄。
標記:incompatible_change
--[no]incompatible_remote_results_ignore_disk
預設值:「true」-
如果設為 True,--noremote_upload_local_results 和 --noremote_accept_cached 不會套用至磁碟快取。如果使用合併的快取:
--noremote_upload_local_results 會導致結果寫入磁碟快取,但不會將結果上傳至遠端快取。
--noremote_accept_cached 會導致 Bazel 檢查磁碟快取中的結果,但不會出現在遠端快取中。no-remote-exec 動作可以觸發磁碟快取。詳情請參閱 #8216。
標記:incompatible_change
--[no]incompatible_remote_use_new_exit_code_for_lost_inputs
預設值:「false」-
如果設為 True,如果遠端快取在建構期間清除 blob,Bazel 將使用新的結束代碼 39,而非 34。
標記:incompatible_change
--[no]remote_accept_cached
預設值:「true」- 是否接受遠端快取動作執行結果。
--remote_bytestream_uri_prefix=<a string>
預設值:查看說明- 要用於寫入建構事件串流的 bytestream:// URI 中的主機名稱和執行個體名稱。您可以在使用 Proxy 執行建構作業時設定這個選項,導致 --remote_executor 和 --remote_instance_name 的值不再對應至遠端執行服務的正規名稱。如未設定,則預設值為「${hostname}/${instance_name}」。
--remote_cache=<a string>
預設值:查看說明- 快取端點的 URI。支援的結構定義包括 http、https、grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc://、http:// 或 unix: 結構定義,以便停用 TLS。詳情請參閱 https://bazel.build/remote/caching
- 累積共計
--remote_cache_header=<a 'name=value' assignment>
次 - 指定要納入快取要求中的標頭:--remote_cache_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_default_exec_properties=<a 'name=value' assignment>
次 -
如果執行平台尚未設定 exec_properties,請設定預設的 exec 屬性做為遠端執行平台。
標記:affects_outputs
--remote_default_platform_properties=<a string>
預設值:「」- 如果執行平台尚未設定 Remote_execution_properties,請設定遠端執行 API 的預設平台屬性。如果已選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
- 累積共計
--remote_downloader_header=<a 'name=value' assignment>
次 - 指定遠端下載工具要求的標頭:--remote_downloader_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_exec_header=<a 'name=value' assignment>
次 - 指定要納入執行要求中的標頭:--remote_exec_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_execution_priority=<an integer>
預設值:「0」- 要從遠端執行的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_executor=<a string>
預設值:查看說明- 遠端執行端點的主機或主機:PORT。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc:// 或 unix:要停用 TLS 的結構定義。
--remote_grpc_log=<a path>
預設值:查看說明- 如有指定,用於記錄 gRPC 呼叫相關詳細資料的檔案路徑。這個記錄包含序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobufs 序列,每則訊息前綴都是以 varint 表示下列序列化 protobuf 訊息的大小,如 LogEntry.writeDelimitedTo(OutputStream) 方法所執行。
- 累積共計
--remote_header=<a 'name=value' assignment>
次 - 指定要納入要求中的標頭:--remote_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_instance_name=<a string>
預設值:「」- 在遠端執行 API 中傳遞為 instance_name 的值。
--[no]remote_local_fallback
預設值:「false」- 如果遠端執行失敗,是否要改回使用獨立的本機執行策略。
--remote_local_fallback_strategy=<a string>
預設值:「local」- 免人工管理,已淘汰。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7480。
--remote_max_connections=<an integer>
預設值:「100」-
限制遠端快取/執行工具的並行連線數量上限。預設值為 100。將這個值設為 0 表示沒有限制。以 HTTP 遠端快取來說,一個 TCP 連線一次可處理一個要求,因此 Bazel 最多可以處理 --remote_max_connections 並行要求。就 gRPC 遠端快取/執行工具而言,一個 gRPC 管道通常可以處理超過 100 個並行要求,因此 Bazel 可以大約處理「--remote_max_connections * 100」並行要求。
標記:host_machine_resource_optimizations
--remote_proxy=<a string>
預設值:查看說明- 透過 Proxy 連線至遠端快取。這個旗標目前只能用來設定 Unix 網域通訊端 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer>
預設值:「0」- 將遠端動作儲存在遠端快取中的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_retries=<an integer>
預設值:「5」- 重試暫時錯誤的次數上限。如果設為 0,重試功能就會停用。
--remote_retry_max_delay=<An immutable length of time.>
預設值:「5 秒」- 遠端重試之間的輪詢延遲時間上限。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--remote_timeout=<An immutable length of time.>
預設值:「60 秒」- 等待遠端執行和快取呼叫的時間上限。如果是 REST 快取,這是指連線和讀取逾時。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--[no]remote_upload_local_results
預設值:「true」- 如果遠端快取支援這項功能,且使用者已獲授權,是否要將本機執行的動作結果上傳至遠端快取。
--[no]remote_verify_downloads
預設值:「true」- 如果設為 True,Bazel 會計算所有遠端下載項目的雜湊總和,如果值與預期值不符,就會捨棄遠端快取的值。
- 其他選項,未分類。
- 累積共計
--credential_helper=<Path to a credential helper. It may be absolute, relative to the PATH environment variable, or %workspace%-relative. The path be optionally prefixed by a scope followed by an '='. The scope is a domain name, optionally with a single leading '*' wildcard component. A helper applies to URIs matching its scope, with more specific scopes preferred. If a helper has no scope, it applies to every URI.>
次 - 設定憑證輔助程式,以便擷取用於擷取存放區、遠端快取和執行的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 --google_default_credentials、--google_credentials、.netrc 檔案,或是 repo_ctx.download 和 repository_ctx.download_and_extract 提供的憑證。 可以指定多次輔助程式。 詳情請參閱 https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md。
--credential_helper_cache_duration=<An immutable length of time.>
預設值:「30m」- 快取由憑證輔助程式提供的憑證的時間長度。 以不同的值叫用會調整現有項目的生命週期,傳回零即可清除快取。無論這個標記為何,乾淨的指令一律會清除快取。
--credential_helper_timeout=<An immutable length of time.>
預設值:「10 秒」- 設定憑證輔助程式的逾時時間。 憑證輔助程式若未在逾時期限內回應,會導致叫用失敗。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
--disk_cache=<a path>
預設值:查看說明- Bazel 可讀取及寫入動作,以及動作輸出的目錄路徑。如果目錄不存在,系統將建立該目錄。
--google_auth_scopes=<comma-separated list of options>
預設值:「https://www.googleapis.com/auth/cloud-platform」- 以半形逗號分隔的 Google Cloud 驗證範圍清單。
--google_credentials=<a string>
預設值:查看說明- 指定要從中取得驗證憑證的檔案。詳情請參閱 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials
預設值:「false」- 是否要使用「Google 應用程式預設憑證」進行驗證。詳情請參閱 https://cloud.google.com/docs/authentication。預設為停用。
--grpc_keepalive_time=<An immutable length of time.>
預設值:查看說明- 設定傳出 gRPC 連線的保持運作連線偵測 (ping)。如果設定這個值,Bazel 會在連線沒有讀取作業的這段時間過後,傳送連線偵測 (ping),但只有在至少有一個待處理的 gRPC 呼叫時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。根據預設,系統會停用保持運作的連線偵測 (ping)。您必須先與服務擁有者協調,再啟用這項設定。舉例來說,如要將此旗標設為 30 秒,則應設為 --grpc_keepalive_time=30s
--grpc_keepalive_timeout=<An immutable length of time.>
預設值:「20 秒」- 設定傳出 gRPC 連線的保持運作逾時。如果保持運作中的連線偵測 (ping) 已啟用 --grpc_keepalive_time,那麼如果 Bazel 過了這段時間過後仍未收到連線偵測 (ping) 回覆,Bazel 就會逾時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
--tls_certificate=<a string>
預設值:查看說明- 指定受信任的 TLS 憑證路徑,該憑證可簽署伺服器憑證。
--tls_client_certificate=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端憑證;您也需要提供用戶端金鑰來啟用用戶端驗證功能。
--tls_client_key=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端金鑰,也需要提供用戶端憑證來啟用用戶端驗證功能。
說明選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--help_verbosity=<long, medium or short>
預設值:「中」-
選取說明指令的詳細程度。
標記:affects_outputs
、terminal_output
--long
[-l
]-
顯示每個選項的完整說明,而非只是名稱。
展開為:
--help_verbosity=long
標記:affects_outputs
、terminal_output
--short
-
僅顯示選項的名稱,不要顯示選項的類型或意義。
擴充為:
--help_verbosity=short
標記:affects_outputs
、terminal_output
- 針對不屬於其他類別的 Bazel 指令,指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
資訊選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--[no]show_make_env
預設值:「false」-
在輸出內容中加入「Make」環境。
標記:affects_outputs
、terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
授權選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
行動應用程式安裝選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--mode=<classic, classic_internal_test_do_not_use or skylark>
預設值:「傳統」-
選取執行行動應用程式安裝的方式。「傳統版」會執行目前的行動安裝版本。「skylark」使用新的 Starlark 版本,其支援 android_test。
標記:loading_and_analysis
、execution
、incompatible_change
- 設定用於執行動作的工具鍊選項:
--adb=<a string>
預設值:「」-
用於「mobile-install」指令的 ADB 二進位檔。如未指定,則會使用 --android_sdk 指令列選項指定的 Android SDK 中的 SDK (如未指定 --android_sdk,則會使用預設 SDK)。
標記:changes_inputs
- 控制指令輸出內容的選項:
--[no]incremental
預設值:「false」-
是否要逐步安裝。如果為 true,系統會讀取要安裝程式碼的裝置狀態,並使用該資訊避免不必要的工作,藉此避免不必要的額外作業。如果為 false (預設值),一律進行完整安裝。
標記:loading_and_analysis
--[no]split_apks
預設值:「false」-
是否要使用分割 APK 在裝置上安裝及更新應用程式。僅適用於搭載 Marshmallow 或以上版本的裝置
標記:loading_and_analysis
、affects_outputs
- 可讓使用者設定預期的輸出內容,而非影響其值的選項:
- 累積共計
--adb_arg=<a string>
次 -
要傳遞給 ADB 的額外引數。通常用於指定要安裝的裝置。
標記:action_command_lines
--debug_app
-
啟動應用程式前,是否需等待偵錯工具執行。
展開為:
--start=DEBUG
標記:execution
--device=<a string>
預設值:「」-
ADB 裝置序號。如未指定,系統會使用第一部裝置。
標記:action_command_lines
--start=<no, cold, warm or debug>
預設值:「NO」-
應用程式安裝後應如何啟動。設為 WARM,即可在漸進式安裝時保留及還原應用程式狀態。
標記:execution
--start_app
-
是否在安裝後啟動應用程式。
擴充為:
--start=COLD
標記:execution
- Bazel 選項會影響 Bazel 嚴格執行有效建構輸入 (規則定義、標記組合等) 的方式:
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--incremental_install_verbosity=<a string>
預設值:「」-
增量安裝的詳細程度。請設為 1 用於偵錯記錄。
標記:bazel_monitoring
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
功能模組選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--[no]keep_going
[-k
] 預設值:「false」-
發生錯誤後請盡可能繼續。雖然無法分析失敗的目標和依附於該目標的部分,但可以採用這些目標的其他必要條件。
標記:eagerness_to_exit
--loading_phase_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
用於載入/分析階段的平行執行緒數量。可使用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要在後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據主機資源設定合理的預設值。不得小於 1,
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- 「mod」子指令輸出內容和語意的相關選項:
--base_module=<"<root>" for the root module; <module>@<version> for a specific version of a module; <module> for all versions of a module; @<name> for a repo with the given apparent name; or @@<name> for a repo with the given canonical name>
預設值:「<root>」-
指定要解讀指定目標存放區的相對模組。
標記:terminal_output
--charset=<utf8 or ascii>
預設值:「utf8」-
選擇用於樹狀結構的字元集。只會影響文字輸出。有效值為「utf8」或「ascii」。預設值為「utf8」
標記:terminal_output
--[no]cycles
預設值:「false」-
指出在顯示的樹狀結構中,依附元件週期 (通常預設為忽略)。
標記:terminal_output
--depth=<an integer>
預設值:「-1」- 依附元件樹狀結構的顯示深度上限。舉例來說,深度 1 會顯示直接依附元件。以樹狀結構、路徑和 all_paths 來說,預設值為 Integer.MAX_VALUE,而 deps 則表示設為 1 (只顯示目標葉子和其父項以外的根層級)。
標記:terminal_output
--extension_filter=<a comma-separated list of <extension>s>
預設值:查看說明-
僅顯示這些模組擴充功能的使用情形,以及這些擴充功能所產生的存放區 (如果分別設定了標記)。設定此屬性後,結果圖表只會包含包含使用指定擴充功能模組的路徑。如果清單空白,篩選器會停用篩選器,有效指定所有可能的副檔名。
標記:terminal_output
--extension_info=<hidden, usages, repos or all>
預設值:「已隱藏」-
指定查詢結果中要包含擴充功能使用狀況的詳細資料。「Usages」只會顯示擴充功能名稱,「存放區」也會包含使用 use_repo 匯入的存放區,而「all」則會顯示擴充功能產生的其他存放區。
標記:terminal_output
--extension_usages=<a comma-separated list of <module>s>
預設值:「」-
指定其擴充功能使用情形會顯示在 show_extension 查詢中的模組。
標記:terminal_output
--from=<a comma-separated list of <module>s>
預設值:「<root>」-
顯示依附元件圖表查詢的來源模組。請查看每項查詢的說明,瞭解確切的語意。預設值為 <root>。
標記:terminal_output
--[no]include_builtin
預設值:「false」-
在依附元件圖表中加入內建模組。非常吵雜,因此預設為停用。
標記:terminal_output
--[no]include_unused
預設值:「false」-
這些查詢也會考量並顯示未使用的模組 (因「最低版本選取項目」或覆寫規則而未顯示在模組解析度圖中)。這可能會對每種查詢類型產生不同的影響,例如在 all_paths 指令中加入新路徑,或是在解釋指令中加入額外依附元件。
標記:terminal_output
--output=<text, json or graph>
預設值:「text」-
查詢結果的列印格式。查詢允許的值為:文字、json、圖形
標記:terminal_output
--[no]verbose
預設值:「false」-
查詢中也會顯示模組解析為目前版本 (如果已變更) 的原因。只有說明查詢會預設為 true。
標記:terminal_output
- 與 Bzlmod 輸出和語意相關的選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
Print_action 選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--print_action_mnemonics=<a string>
次 - 列出要做為 print_action 篩選依據的助聽器,如果留空,系統就不會套用任何篩選。
查詢選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--[no]incompatible_remote_dangling_symlinks
預設值:「true」-
如果設為 true,且 --incompatible_remote_symlinks 也設為 True,則動作輸出中的符號連結可以使用。
標記:execution
、incompatible_change
--[no]incompatible_remote_symlinks
預設值:「true」-
如果設為 True,Bazel 會在遠端快取/執行通訊協定的動作輸出中代表符號連結。否則,系統會追蹤符號連結,並以檔案或目錄表示。詳情請參閱 #6631。
標記:execution
、incompatible_change
--[no]keep_going
[-k
] 預設值:「false」-
發生錯誤後請盡可能繼續。雖然無法分析失敗的目標和依附於該目標的部分,但可以採用這些目標的其他必要條件。
標記:eagerness_to_exit
--loading_phase_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
用於載入/分析階段的平行執行緒數量。可使用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要在後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據主機資源設定合理的預設值。不得小於 1,
標記:bazel_internal_configuration
- 可讓使用者設定預期的輸出內容,影響其值 (而非存在):
--bep_maximum_open_remote_upload_files=<an integer>
預設值:「-1」-
上傳 BEP 構件時允許的開啟檔案數量上限。
標記:affects_outputs
--remote_download_minimal
-
系統不會將任何遠端建構輸出內容下載至本機電腦。此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=minimal。
展開為:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=minimal
標記:affects_outputs
--remote_download_outputs=<all, minimal or toplevel>
預設值:「全部」-
如果設為「minimal」,系統不會將任何遠端建構輸出內容下載至本機電腦,但本機動作所需的輸出內容除外。如果設為「頂層」,運作原理就像是「最低」,但同時會將頂層目標的輸出內容下載至本機電腦。如果網路頻寬會造成瓶頸,這兩種選項可以大幅縮短建構時間。
標記:affects_outputs
--remote_download_symlink_template=<a string>
預設值:「」-
建立符號連結,而不要將遠端建構輸出內容下載到本機電腦。符號連結的目標可以使用範本字串的形式指定。這個範本字串可能包含 {hash} 和 {size_bytes},這些字串會分別展開至物件的雜湊和大小 (以位元組為單位)。例如,這些符號連結可能會指向可以隨選載入 CAS 物件的 FUSE 檔案系統。
標記:affects_outputs
--remote_download_toplevel
-
只將頂層目標的遠端輸出內容下載到本機電腦,此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=toplevel。
範圍擴展為:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=toplevel
標記:affects_outputs
- 與 Bazel 嚴格強制執行建構輸入項目 (規則定義、旗標組合等) 時相關的選項:
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- 查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise>
預設值:「保守」-
當輸出格式是 {xml,proto,record} 時,如何解析長寬比的依附元件。「off」表示未解析任何顯示依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,均已新增所有宣告的依附元件。「精確」表示只有在直接依附元件的規則類別下,才會新增這些可能處於有效狀態的元件。請注意,您需要載入其他套件來評估單一目標,因此速度比其他模式慢。另請注意,即使是精確模式,也不一定完全準確:系統會在分析階段決定要計算某個面向,而這不會在「bazel 查詢」期間執行。
標記:build_file_semantics
--[no]consistent_labels
預設值:「false」-
如果啟用,每個查詢指令都會像套用 <code>Label</code> 標籤的 Starlark <code>str</code> 函式一樣發出標籤。這對於需要比對不同查詢指令輸出內容和/或規則產生的標籤的工具而言非常實用。如未啟用,輸出格式器就不會產生明顯的存放區名稱 (相對於主要存放區),改為讓輸出內容更容易閱讀。
標記:terminal_output
--[no]experimental_graphless_query
預設值:「auto」-
如果為 true,則會使用不會複製圖表的查詢實作。新的實作方式僅支援 --order_output=no,以及部分輸出格式設定器。
標記:build_file_semantics
、eagerness_to_exit
--graph:conditional_edges_limit=<an integer>
預設值:「4」-
要顯示的條件標籤數量上限。-1 表示沒有截斷,0 表示沒有註解。這個選項僅適用於 --output=graph。
標記:terminal_output
--[no]graph:factored
預設值:「true」-
如果為 True,圖表就會以「係數」形式進行,意即邏輯對等節點會合併,並串連這些節點。這個選項僅適用於 --output=graph。
標記:terminal_output
--graph:node_limit=<an integer>
預設值:「512」-
輸出內容中圖表節點的標籤字串長度上限,較長的標籤將遭到截斷;-1 表示不會遭到截斷。這個選項僅適用於 --output=graph。
標記:terminal_output
--[no]implicit_deps
預設值:「true」-
如果啟用,隱含依附元件將包含在查詢作業的依附元件圖表中。隱含依附元件是指 BUILD 檔案中未明確指定,但是由 bazel 新增的依附元件。針對 cquery,這個選項可控制已解析的工具鍊。
標記:build_file_semantics
--[no]include_aspects
預設值:「true」- 查詢, cquery: 是否在輸出中納入由面向產生的動作。 query:no-op (一律會遵循指定順序)。
標記:terminal_output
--[no]incompatible_display_source_file_location
預設值:「true」-
預設為 True,會顯示來源檔案的目標。如為 true,則在位置輸出中,顯示來源檔案第 1 行的位置。這個旗標只會用於遷移。
標記:terminal_output
、incompatible_change
--[no]incompatible_lexicographical_output
預設值:「true」-
如果設定了這個選項,系統會按照字母順序排序 --order_output=auto 輸出內容。
標記:terminal_output
、incompatible_change
--[no]incompatible_package_group_includes_double_slash
預設值:「true」-
如果啟用此功能,輸出 package_group 的 `packages` 屬性時,系統不會省略開頭的 `//`。
標記:terminal_output
、incompatible_change
--[no]infer_universe_scope
預設值:「false」-
如果未設定且未設定 --universe_scope,系統就會推斷查詢運算式中 --universe_scope 的值,做為不重複目標模式清單。請注意,針對使用宇宙範圍函式 (例如「allrdeps」) 的查詢運算式所推測的 --universe_scope 值,不一定符合需求,因此,建議只在知道相關做法的情況下才使用這個選項。如需詳細資訊和範例,請前往 https://bazel.build/reference/query#sky-query。如果設定了 --universe_scope,系統就會忽略此選項的值。注意:這個選項僅適用於「query」(而不是「cquery」)。
標記:loading_and_analysis
--[no]line_terminator_null
預設值:「false」-
表示各種格式會以 \0 結尾 (而非換行符號)。
標記:terminal_output
--[no]nodep_deps
預設值:「true」-
如果啟用,「nodep」屬性的部分就會包含在查詢作業的依附元件圖表中。「nodep」屬性的常見例子為「visibility」。執行並剖析「info build-language」的輸出內容,瞭解建構語言中的所有「nodep」屬性。
標記:build_file_semantics
--noorder_results
-
以依附元件順序 (預設) 或未排序的方式輸出結果。未排序的輸出速度較快,但僅支援 --output 不是最低排名、最高排名或圖表的情況。
展開為:
--order_output=no
標記:terminal_output
--null
-
表示各種格式會以 \0 結尾 (而非換行符號)。
展開為:
--line_terminator_null=true
標記:terminal_output
--order_output=<no, deps, auto or full>
預設值:「auto」-
輸出未排序 (no)、依依附元件排序 (deps) 或完全排序 (完整) 的結果。預設值為「auto」,表示結果會依依附元件排序或完整排序,視輸出格式轉換而定 (也就是 proto、minrank、maxrank 和圖形的依附元件順序,以其他方式排序)。在輸出完全排序之後,節點會按確定性 (總計) 順序列印。首先,所有節點皆按照字母順序排序。然後,清單中的每個節點都會當做依順序排序的深度優先搜尋開始,其中傳出邊緣到未造訪節點時,系統會依字母順序排列後續節點。最後,節點會按照造訪順序顯示。
標記:terminal_output
--order_results
-
以依附元件順序 (預設) 或未排序的方式輸出結果。未排序的輸出速度較快,但僅支援 --output 不是最低排名、最高排名或圖表的情況。
展開為:
--order_output=auto
標記:terminal_output
--output=<a string>
預設值:「label」-
查詢結果的列印格式。查詢允許的值包括:build、graph、streamed_jsonproto、label、label_Kind、location、maxrank、minrank、Package、proto、xml。
標記:terminal_output
--[no]proto:default_values
預設值:「true」-
如果設為 true,系統將納入 BUILD 檔案中未明確指定值的屬性,否則會省略。這個選項適用於 --output=proto
標記:terminal_output
--[no]proto:definition_stack
預設值:「false」-
填入 definition_stack proto 欄位,系統會在定義規則類別時,記錄每個規則例項的 Starlark 呼叫堆疊。
標記:terminal_output
--[no]proto:flatten_selects
預設值:「true」-
啟用後,由 select() 建立的可設定屬性會經過分割。以清單類型來說,整併表示法是一份清單,其中包含所選地圖的每個值。純量類型會整併為空值。
標記:build_file_semantics
--[no]proto:include_synthetic_attribute_hash
預設值:「false」-
是否要計算並填入 $internal_attr_hash 屬性。
標記:terminal_output
--[no]proto:instantiation_stack
預設值:「false」-
填入每個規則的例項化呼叫堆疊。請注意,堆疊必須具有
標記:terminal_output
--[no]proto:locations
預設值:「true」-
指定是否要在 proto 輸出中輸出位置資訊。
標記:terminal_output
--proto:output_rule_attrs=<comma-separated list of options>
預設值:「全部」-
要納入輸出的屬性清單 (以半形逗號分隔)。預設值為所有屬性。設為空白字串,不輸出任何屬性。這個選項適用於 --output=proto。
標記:terminal_output
--[no]proto:rule_inputs_and_outputs
預設值:「true」-
是否要填入 Rules_input 和 Rules_output 欄位。
標記:terminal_output
--query_file=<a string>
預設值:「」-
如果已設定,查詢就會從這裡命名的檔案讀取查詢,而不是透過指令列讀取查詢。在這裡指定檔案和指令列查詢會發生錯誤。
標記:changes_inputs
--[no]relative_locations
預設值:「false」-
如果為 true,XML 和 proto 輸出中的 BUILD 檔案位置是相對位置。根據預設,位置輸出內容為絕對路徑,且在不同電腦上不會一致。只要將這個選項設為 true,就能讓不同機器的結果保持一致。
標記:terminal_output
--[no]strict_test_suite
預設值:「false」-
如果為 true,Test() 運算式會在測試包含非測試目標的 test_suite 發生錯誤。
標記:build_file_semantics
、eagerness_to_exit
--[no]tool_deps
預設值:「true」-
查詢:如果停用,「主機設定」或「執行」目標的依附元件就不會納入查詢作業的依附元件圖表。「主機設定」依附元件邊緣 (例如從任何「proto_library」規則到通訊協定編譯器的邊緣),通常會指向在建構期間執行的工具,而不是同一個「target」程式的一部分。Cquery:如果停用這項設定,系統會篩除從找到這個設定目標的頂層目標,篩選出跨主機或執行轉換的所有已設定目標。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於主機設定,系統只會傳回主機設定的目標。這個選項「不會」排除已解析的工具鍊。
標記:build_file_semantics
--universe_scope=<comma-separated list of options>
預設值:「」-
以半形逗號分隔的目標模式組合 (相加和減法)。這項查詢可以由指定目標的轉換封閉定義,在宇宙中執行。這個選項用於查詢和 cquery 指令。針對 cquery,這個選項的輸入內容是以所有答案為基礎建構,因此這個選項可能會影響設定和轉換作業。如果未指定此選項,系統會假設頂層目標為從查詢運算式剖析的目標。注意:針對 cquery,如果不指定此選項,則無法使用頂層選項建構從查詢運算式剖析的目標時,可能會導致建構中斷。
標記:loading_and_analysis
--[no]xml:default_values
預設值:「false」-
如果為 true,系統會列印 BUILD 檔案中未明確指定值的規則屬性,否則會省略。
標記:terminal_output
--[no]xml:line_numbers
預設值:「true」-
如果為 true,XML 輸出會包含行號。停用這個選項可能會方便您查看差異。這個選項僅適用於 --output=xml。
標記:terminal_output
- 與 Bzlmod 輸出和語意相關的選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--experimental_repository_resolved_file=<a string>
預設值:「」-
如果非空白,請編寫 Starlark 值,並提供已執行的所有 Starlark 存放區規則解析資訊。
標記:affects_outputs
--remote_print_execution_messages=<failure, success or all>
預設值:「failure」-
選擇列印遠端執行訊息的時機。有效值為「failure」,僅顯示失敗時列印,「success」只會列印成功,而「all」則一律列印。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_circuit_breaker_strategy=<failure>
預設值:查看說明-
指定斷路器要使用的策略。可用的策略「失敗」。選項的值無效時,系統不會設定該選項的行為。
標記:execution
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
--[no]experimental_guard_against_concurrent_changes
預設值:「false」- 關閉這項功能後,系統就不會在將動作上傳到遠端快取前,先檢查輸入檔案的時時檢查時間。在某些情況下,Linux kernel 會延遲寫入檔案,導致出現誤判狀況。
--experimental_remote_build_event_upload=<all or minimal>
預設值:「全部」- 如果設為「all」,BEP 參照的所有本機輸出都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出將不會上傳到遠端快取,除非是 BEP 使用者的重要檔案 (例如測試記錄和時間設定檔)。此外,即使遠端快取缺少這些檔案,系統仍會將 bytestream:// scheme 用於檔案 URI。 預設為「all」。
--[no]experimental_remote_cache_async
預設值:「false」- 如果為 true,系統會在背景中執行遠端快取 I/O,而不會做為產生作業的一部分進行。
--[no]experimental_remote_cache_compression
預設值:「false」- 如果已啟用,請使用 zstd 來壓縮/解壓縮快取 blob。
--experimental_remote_capture_corrupted_outputs=<a path>
預設值:查看說明- 用於擷取損毀輸出內容的目錄路徑。
--[no]experimental_remote_discard_merkle_trees
預設值:「false」- 如果設為 true,在呼叫 GetActionResult() 和 Execute() 時,捨棄輸入根樹狀結構的 Merkle 樹狀結構和相關聯的輸入對應記憶體內副本。這可大幅降低記憶體用量,但 Bazel 會在遠端快取失敗及重試時重新計算記憶體用量。
--experimental_remote_downloader=<a string>
預設值:查看說明- Remote Asset API 端點 URI,可做為遠端下載 Proxy 使用。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。詳情請參閱:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_downloader_local_fallback
預設值:「false」- 如果遠端下載工具失敗,是否要改回本機下載工具。
--[no]experimental_remote_execution_keepalive
預設值:「false」- 是否要針對遠端執行呼叫使用 Keepalive。
--experimental_remote_failure_rate_threshold=<an integer in 0-100 range>
預設值:「10」-
設定特定時間範圍的失敗率 (百分比),超過該值後就會停止呼叫遠端快取/執行程式。預設值為 10。將這個值設為 0 表示沒有限制。
標記:execution
--experimental_remote_failure_window_interval=<An immutable length of time.>
預設值:「60 秒」-
計算遠端要求失敗率的間隔時間。如果值為 0 或負數,則會計算失敗持續時間的整個期間。您可以使用下列單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
標記:execution
--[no]experimental_remote_mark_tool_inputs
預設值:「false」- 如果設為 True,Bazel 會將輸入內容標示為遠端執行器的工具輸入內容。這可用於實作遠端永久工作站。
--[no]experimental_remote_merkle_tree_cache
預設值:「false」- 如果設為 True,系統會記下 Merkle 樹狀圖的計算結果,以改善遠端快取命中檢查的速度。快取的記憶體足跡是由 --experimental_remote_merkle_tree_cache_size 控管。
--experimental_remote_merkle_tree_cache_size=<a long integer>
預設值:「1000」- 要提高遠端快取命中檢查速度的 Merkle 樹狀結構數量。即使快取會根據 Java 處理軟參照的方式自動截斷,如果設定過高,也可能會發生記憶體不足錯誤。如果設為 0,則快取大小則沒有限制。最佳值會因專案大小而異。預設值為 1000。
--[no]experimental_remote_require_cached
預設值:「false」- 如果設為 True,強制系統只快取可從遠端執行的所有動作,否則建構會失敗。這有助於解決非確定性問題,因為可以檢查系統是否應該快取要快取的動作,而不會明確將新結果插入快取。
--[no]incompatible_remote_build_event_upload_respect_no_cache
預設值:「false」- 如果設為 true,BEP 參照的輸出內容就不會上傳到遠端快取,但若無法從遠端快取產生的動作。
--[no]incompatible_remote_downloader_send_all_headers
預設值:「true」-
指定是否將多值標頭的所有值 (而非第一個) 傳送至遠端下載工具。
標記:incompatible_change
--[no]incompatible_remote_output_paths_relative_to_input_root
預設值:「false」-
如果設為 true,輸出路徑是相對於輸入根目錄,而不是工作目錄。
標記:incompatible_change
--[no]incompatible_remote_results_ignore_disk
預設值:「true」-
如果設為 True,--noremote_upload_local_results 和 --noremote_accept_cached 不會套用至磁碟快取。如果使用合併的快取:
--noremote_upload_local_results 會導致結果寫入磁碟快取,但不會將結果上傳至遠端快取。
--noremote_accept_cached 會導致 Bazel 檢查磁碟快取中的結果,但不會出現在遠端快取中。no-remote-exec 動作可以觸發磁碟快取。詳情請參閱 #8216。
標記:incompatible_change
--[no]incompatible_remote_use_new_exit_code_for_lost_inputs
預設值:「false」-
如果設為 True,如果遠端快取在建構期間清除 blob,Bazel 將使用新的結束代碼 39,而非 34。
標記:incompatible_change
--[no]remote_accept_cached
預設值:「true」- 是否接受遠端快取動作執行結果。
--remote_bytestream_uri_prefix=<a string>
預設值:查看說明- 要用於寫入建構事件串流的 bytestream:// URI 中的主機名稱和執行個體名稱。您可以在使用 Proxy 執行建構作業時設定這個選項,導致 --remote_executor 和 --remote_instance_name 的值不再對應至遠端執行服務的正規名稱。如未設定,則預設值為「${hostname}/${instance_name}」。
--remote_cache=<a string>
預設值:查看說明- 快取端點的 URI。支援的結構定義包括 http、https、grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc://、http:// 或 unix: 結構定義,以便停用 TLS。詳情請參閱 https://bazel.build/remote/caching
- 累積共計
--remote_cache_header=<a 'name=value' assignment>
次 - 指定要納入快取要求中的標頭:--remote_cache_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_default_exec_properties=<a 'name=value' assignment>
次 -
如果執行平台尚未設定 exec_properties,請設定預設的 exec 屬性做為遠端執行平台。
標記:affects_outputs
--remote_default_platform_properties=<a string>
預設值:「」- 如果執行平台尚未設定 Remote_execution_properties,請設定遠端執行 API 的預設平台屬性。如果已選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
- 累積共計
--remote_downloader_header=<a 'name=value' assignment>
次 - 指定遠端下載工具要求的標頭:--remote_downloader_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_exec_header=<a 'name=value' assignment>
次 - 指定要納入執行要求中的標頭:--remote_exec_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_execution_priority=<an integer>
預設值:「0」- 要從遠端執行的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_executor=<a string>
預設值:查看說明- 遠端執行端點的主機或主機:PORT。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc:// 或 unix:要停用 TLS 的結構定義。
--remote_grpc_log=<a path>
預設值:查看說明- 如有指定,用於記錄 gRPC 呼叫相關詳細資料的檔案路徑。這個記錄包含序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobufs 序列,每則訊息前綴都是以 varint 表示下列序列化 protobuf 訊息的大小,如 LogEntry.writeDelimitedTo(OutputStream) 方法所執行。
- 累積共計
--remote_header=<a 'name=value' assignment>
次 - 指定要納入要求中的標頭:--remote_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_instance_name=<a string>
預設值:「」- 在遠端執行 API 中傳遞為 instance_name 的值。
--[no]remote_local_fallback
預設值:「false」- 如果遠端執行失敗,是否要改回使用獨立的本機執行策略。
--remote_local_fallback_strategy=<a string>
預設值:「local」- 免人工管理,已淘汰。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7480。
--remote_max_connections=<an integer>
預設值:「100」-
限制遠端快取/執行工具的並行連線數量上限。預設值為 100。將這個值設為 0 表示沒有限制。以 HTTP 遠端快取來說,一個 TCP 連線一次可處理一個要求,因此 Bazel 最多可以處理 --remote_max_connections 並行要求。就 gRPC 遠端快取/執行工具而言,一個 gRPC 管道通常可以處理超過 100 個並行要求,因此 Bazel 可以大約處理「--remote_max_connections * 100」並行要求。
標記:host_machine_resource_optimizations
--remote_proxy=<a string>
預設值:查看說明- 透過 Proxy 連線至遠端快取。這個旗標目前只能用來設定 Unix 網域通訊端 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer>
預設值:「0」- 將遠端動作儲存在遠端快取中的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_retries=<an integer>
預設值:「5」- 重試暫時錯誤的次數上限。如果設為 0,重試功能就會停用。
--remote_retry_max_delay=<An immutable length of time.>
預設值:「5 秒」- 遠端重試之間的輪詢延遲時間上限。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--remote_timeout=<An immutable length of time.>
預設值:「60 秒」- 等待遠端執行和快取呼叫的時間上限。如果是 REST 快取,這是指連線和讀取逾時。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--[no]remote_upload_local_results
預設值:「true」- 如果遠端快取支援這項功能,且使用者已獲授權,是否要將本機執行的動作結果上傳至遠端快取。
--[no]remote_verify_downloads
預設值:「true」- 如果設為 True,Bazel 會計算所有遠端下載項目的雜湊總和,如果值與預期值不符,就會捨棄遠端快取的值。
- 其他選項,未分類。
- 累積共計
--credential_helper=<Path to a credential helper. It may be absolute, relative to the PATH environment variable, or %workspace%-relative. The path be optionally prefixed by a scope followed by an '='. The scope is a domain name, optionally with a single leading '*' wildcard component. A helper applies to URIs matching its scope, with more specific scopes preferred. If a helper has no scope, it applies to every URI.>
次 - 設定憑證輔助程式,以便擷取用於擷取存放區、遠端快取和執行的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 --google_default_credentials、--google_credentials、.netrc 檔案,或是 repo_ctx.download 和 repository_ctx.download_and_extract 提供的憑證。 可以指定多次輔助程式。 詳情請參閱 https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md。
--credential_helper_cache_duration=<An immutable length of time.>
預設值:「30m」- 快取由憑證輔助程式提供的憑證的時間長度。 以不同的值叫用會調整現有項目的生命週期,傳回零即可清除快取。無論這個標記為何,乾淨的指令一律會清除快取。
--credential_helper_timeout=<An immutable length of time.>
預設值:「10 秒」- 設定憑證輔助程式的逾時時間。 憑證輔助程式若未在逾時期限內回應,會導致叫用失敗。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
--disk_cache=<a path>
預設值:查看說明- Bazel 可讀取及寫入動作,以及動作輸出的目錄路徑。如果目錄不存在,系統將建立該目錄。
--google_auth_scopes=<comma-separated list of options>
預設值:「https://www.googleapis.com/auth/cloud-platform」- 以半形逗號分隔的 Google Cloud 驗證範圍清單。
--google_credentials=<a string>
預設值:查看說明- 指定要從中取得驗證憑證的檔案。詳情請參閱 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials
預設值:「false」- 是否要使用「Google 應用程式預設憑證」進行驗證。詳情請參閱 https://cloud.google.com/docs/authentication。預設為停用。
--grpc_keepalive_time=<An immutable length of time.>
預設值:查看說明- 設定傳出 gRPC 連線的保持運作連線偵測 (ping)。如果設定這個值,Bazel 會在連線沒有讀取作業的這段時間過後,傳送連線偵測 (ping),但只有在至少有一個待處理的 gRPC 呼叫時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。根據預設,系統會停用保持運作的連線偵測 (ping)。您必須先與服務擁有者協調,再啟用這項設定。舉例來說,如要將此旗標設為 30 秒,則應設為 --grpc_keepalive_time=30s
--grpc_keepalive_timeout=<An immutable length of time.>
預設值:「20 秒」- 設定傳出 gRPC 連線的保持運作逾時。如果保持運作中的連線偵測 (ping) 已啟用 --grpc_keepalive_time,那麼如果 Bazel 過了這段時間過後仍未收到連線偵測 (ping) 回覆,Bazel 就會逾時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
--tls_certificate=<a string>
預設值:查看說明- 指定受信任的 TLS 憑證路徑,該憑證可簽署伺服器憑證。
--tls_client_certificate=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端憑證;您也需要提供用戶端金鑰來啟用用戶端驗證功能。
--tls_client_key=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端金鑰,也需要提供用戶端憑證來啟用用戶端驗證功能。
執行選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 可讓使用者設定預期的輸出內容,影響其值 (而非存在):
--script_path=<a path>
預設值:查看說明-
如果已設定,請將殼層指令碼寫入用於叫用目標的指定檔案。如果設定了這個選項,目標就不會從 Bazel 執行。使用「bazel run --script_path=foo //foo && ./foo」來叫用目標 '//foo',這與「bazel run //foo」不同,因為 bazel Lock 已釋出,且執行檔會連結至終端機的 stdin。
標記:affects_outputs
、execution
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、旗標組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
關機選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制指令輸出內容的選項:
--iff_heap_size_greater_than=<an integer>
預設值:「0」-
如果非零,則只有在 JVM 使用的記憶體總量 (以 MB 為單位) 超過這個值時,關機才會關閉伺服器。
標記:loses_incremental_state
、eagerness_to_exit
- 選項會影響 Bazel 嚴格執行有效建構輸入的方式 (規則定義、標記組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
同步處理選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--[no]configure
預設值:「False」-
只同步處理標記為「設定」的存放區,以便用於系統設定。
標記:changes_inputs
--[no]incompatible_remote_dangling_symlinks
預設值:「true」-
如果設為 true,且 --incompatible_remote_symlinks 也設為 True,則動作輸出中的符號連結可以使用。
標記:execution
、incompatible_change
--[no]incompatible_remote_symlinks
預設值:「true」-
如果設為 True,Bazel 會在遠端快取/執行通訊協定的動作輸出中代表符號連結。否則,系統會追蹤符號連結,並以檔案或目錄表示。詳情請參閱 #6631。
標記:execution
、incompatible_change
--[no]keep_going
[-k
] 預設值:「false」-
發生錯誤後請盡可能繼續。雖然無法分析失敗的目標和依附於該目標的部分,但可以採用這些目標的其他必要條件。
標記:eagerness_to_exit
--loading_phase_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
預設值:「auto」-
用於載入/分析階段的平行執行緒數量。可使用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要在後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據主機資源設定合理的預設值。不得小於 1,
標記:bazel_internal_configuration
- 累積共計
--only=<a string>
次 -
如果提供此選項,請只同步處理使用這個選項指定的存放區。但仍會將所有 (或所有類似設定,已提供 --configure) 視為過時。
標記:changes_inputs
- 可讓使用者設定預期的輸出內容,影響其值 (而非存在):
--bep_maximum_open_remote_upload_files=<an integer>
預設值:「-1」-
上傳 BEP 構件時允許的開啟檔案數量上限。
標記:affects_outputs
--remote_download_minimal
-
系統不會將任何遠端建構輸出內容下載至本機電腦。此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=minimal。
展開為:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=minimal
標記:affects_outputs
--remote_download_outputs=<all, minimal or toplevel>
預設值:「全部」-
如果設為「minimal」,系統不會將任何遠端建構輸出內容下載至本機電腦,但本機動作所需的輸出內容除外。如果設為「頂層」,運作原理就像是「最低」,但同時會將頂層目標的輸出內容下載至本機電腦。如果網路頻寬會造成瓶頸,這兩種選項可以大幅縮短建構時間。
標記:affects_outputs
--remote_download_symlink_template=<a string>
預設值:「」-
建立符號連結,而不要將遠端建構輸出內容下載到本機電腦。符號連結的目標可以使用範本字串的形式指定。這個範本字串可能包含 {hash} 和 {size_bytes},這些字串會分別展開至物件的雜湊和大小 (以位元組為單位)。例如,這些符號連結可能會指向可以隨選載入 CAS 物件的 FUSE 檔案系統。
標記:affects_outputs
--remote_download_toplevel
-
只將頂層目標的遠端輸出內容下載到本機電腦,此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=toplevel。
範圍擴展為:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=toplevel
標記:affects_outputs
- 與 Bazel 嚴格強制執行建構輸入項目 (規則定義、旗標組合等) 時相關的選項:
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
--[no]incompatible_config_setting_private_default_visibility
預設值:「false」-
如果 incompatible_enforce_config_setting_visibility=false,則無法變更。否則,如果這個標記為 false,任何沒有明確瀏覽權限屬性的 config_setting 都會設為 //visibility:public。如果這個標記為 true,config_setting 採用與所有其他規則相同的瀏覽權限邏輯。請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記:loading_and_analysis
、incompatible_change
--[no]incompatible_enforce_config_setting_visibility
預設值:「true」-
如果為 true,請強制執行 config_setting 瀏覽權限限制。如果為 false,每個目標都會顯示所有 config_setting。請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記:loading_and_analysis
、incompatible_change
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--experimental_repository_resolved_file=<a string>
預設值:「」-
如果非空白,請編寫 Starlark 值,並提供已執行的所有 Starlark 存放區規則解析資訊。
標記:affects_outputs
--remote_print_execution_messages=<failure, success or all>
預設值:「failure」-
選擇列印遠端執行訊息的時機。有效值為「failure」,僅顯示失敗時列印,「success」只會列印成功,而「all」則一律列印。
標記:terminal_output
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_circuit_breaker_strategy=<failure>
預設值:查看說明-
指定斷路器要使用的策略。可用的策略「失敗」。選項的值無效時,系統不會設定該選項的行為。
標記:execution
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
--[no]experimental_guard_against_concurrent_changes
預設值:「false」- 關閉這項功能後,系統就不會在將動作上傳到遠端快取前,先檢查輸入檔案的時時檢查時間。在某些情況下,Linux kernel 會延遲寫入檔案,導致出現誤判狀況。
--experimental_remote_build_event_upload=<all or minimal>
預設值:「全部」- 如果設為「all」,BEP 參照的所有本機輸出都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出將不會上傳到遠端快取,除非是 BEP 使用者的重要檔案 (例如測試記錄和時間設定檔)。此外,即使遠端快取缺少這些檔案,系統仍會將 bytestream:// scheme 用於檔案 URI。 預設為「all」。
--[no]experimental_remote_cache_async
預設值:「false」- 如果為 true,系統會在背景中執行遠端快取 I/O,而不會做為產生作業的一部分進行。
--[no]experimental_remote_cache_compression
預設值:「false」- 如果已啟用,請使用 zstd 來壓縮/解壓縮快取 blob。
--experimental_remote_capture_corrupted_outputs=<a path>
預設值:查看說明- 用於擷取損毀輸出內容的目錄路徑。
--[no]experimental_remote_discard_merkle_trees
預設值:「false」- 如果設為 true,在呼叫 GetActionResult() 和 Execute() 時,捨棄輸入根樹狀結構的 Merkle 樹狀結構和相關聯的輸入對應記憶體內副本。這可大幅降低記憶體用量,但 Bazel 會在遠端快取失敗及重試時重新計算記憶體用量。
--experimental_remote_downloader=<a string>
預設值:查看說明- Remote Asset API 端點 URI,可做為遠端下載 Proxy 使用。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。詳情請參閱:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_downloader_local_fallback
預設值:「false」- 如果遠端下載工具失敗,是否要改回本機下載工具。
--[no]experimental_remote_execution_keepalive
預設值:「false」- 是否要針對遠端執行呼叫使用 Keepalive。
--experimental_remote_failure_rate_threshold=<an integer in 0-100 range>
預設值:「10」-
設定特定時間範圍的失敗率 (百分比),超過該值後就會停止呼叫遠端快取/執行程式。預設值為 10。將這個值設為 0 表示沒有限制。
標記:execution
--experimental_remote_failure_window_interval=<An immutable length of time.>
預設值:「60 秒」-
計算遠端要求失敗率的間隔時間。如果值為 0 或負數,則會計算失敗持續時間的整個期間。您可以使用下列單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
標記:execution
--[no]experimental_remote_mark_tool_inputs
預設值:「false」- 如果設為 True,Bazel 會將輸入內容標示為遠端執行器的工具輸入內容。這可用於實作遠端永久工作站。
--[no]experimental_remote_merkle_tree_cache
預設值:「false」- 如果設為 True,系統會記下 Merkle 樹狀圖的計算結果,以改善遠端快取命中檢查的速度。快取的記憶體足跡是由 --experimental_remote_merkle_tree_cache_size 控管。
--experimental_remote_merkle_tree_cache_size=<a long integer>
預設值:「1000」- 要提高遠端快取命中檢查速度的 Merkle 樹狀結構數量。即使快取會根據 Java 處理軟參照的方式自動截斷,如果設定過高,也可能會發生記憶體不足錯誤。如果設為 0,則快取大小則沒有限制。最佳值會因專案大小而異。預設值為 1000。
--[no]experimental_remote_require_cached
預設值:「false」- 如果設為 True,強制系統只快取可從遠端執行的所有動作,否則建構會失敗。這有助於解決非確定性問題,因為可以檢查系統是否應該快取要快取的動作,而不會明確將新結果插入快取。
--[no]incompatible_remote_build_event_upload_respect_no_cache
預設值:「false」- 如果設為 true,BEP 參照的輸出內容就不會上傳到遠端快取,但若無法從遠端快取產生的動作。
--[no]incompatible_remote_downloader_send_all_headers
預設值:「true」-
指定是否將多值標頭的所有值 (而非第一個) 傳送至遠端下載工具。
標記:incompatible_change
--[no]incompatible_remote_output_paths_relative_to_input_root
預設值:「false」-
如果設為 true,輸出路徑是相對於輸入根目錄,而不是工作目錄。
標記:incompatible_change
--[no]incompatible_remote_results_ignore_disk
預設值:「true」-
如果設為 True,--noremote_upload_local_results 和 --noremote_accept_cached 不會套用至磁碟快取。如果使用合併的快取:
--noremote_upload_local_results 會導致結果寫入磁碟快取,但不會將結果上傳至遠端快取。
--noremote_accept_cached 會導致 Bazel 檢查磁碟快取中的結果,但不會出現在遠端快取中。no-remote-exec 動作可以觸發磁碟快取。詳情請參閱 #8216。
標記:incompatible_change
--[no]incompatible_remote_use_new_exit_code_for_lost_inputs
預設值:「false」-
如果設為 True,如果遠端快取在建構期間清除 blob,Bazel 將使用新的結束代碼 39,而非 34。
標記:incompatible_change
--[no]remote_accept_cached
預設值:「true」- 是否接受遠端快取動作執行結果。
--remote_bytestream_uri_prefix=<a string>
預設值:查看說明- 要用於寫入建構事件串流的 bytestream:// URI 中的主機名稱和執行個體名稱。您可以在使用 Proxy 執行建構作業時設定這個選項,導致 --remote_executor 和 --remote_instance_name 的值不再對應至遠端執行服務的正規名稱。如未設定,則預設值為「${hostname}/${instance_name}」。
--remote_cache=<a string>
預設值:查看說明- 快取端點的 URI。支援的結構定義包括 http、https、grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc://、http:// 或 unix: 結構定義,以便停用 TLS。詳情請參閱 https://bazel.build/remote/caching
- 累積共計
--remote_cache_header=<a 'name=value' assignment>
次 - 指定要納入快取要求中的標頭:--remote_cache_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_default_exec_properties=<a 'name=value' assignment>
次 -
如果執行平台尚未設定 exec_properties,請設定預設的 exec 屬性做為遠端執行平台。
標記:affects_outputs
--remote_default_platform_properties=<a string>
預設值:「」- 如果執行平台尚未設定 Remote_execution_properties,請設定遠端執行 API 的預設平台屬性。如果已選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
- 累積共計
--remote_downloader_header=<a 'name=value' assignment>
次 - 指定遠端下載工具要求的標頭:--remote_downloader_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_exec_header=<a 'name=value' assignment>
次 - 指定要納入執行要求中的標頭:--remote_exec_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_execution_priority=<an integer>
預設值:「0」- 要從遠端執行的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_executor=<a string>
預設值:查看說明- 遠端執行端點的主機或主機:PORT。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc:// 或 unix:要停用 TLS 的結構定義。
--remote_grpc_log=<a path>
預設值:查看說明- 如有指定,用於記錄 gRPC 呼叫相關詳細資料的檔案路徑。這個記錄包含序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobufs 序列,每則訊息前綴都是以 varint 表示下列序列化 protobuf 訊息的大小,如 LogEntry.writeDelimitedTo(OutputStream) 方法所執行。
- 累積共計
--remote_header=<a 'name=value' assignment>
次 - 指定要納入要求中的標頭:--remote_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_instance_name=<a string>
預設值:「」- 在遠端執行 API 中傳遞為 instance_name 的值。
--[no]remote_local_fallback
預設值:「false」- 如果遠端執行失敗,是否要改回使用獨立的本機執行策略。
--remote_local_fallback_strategy=<a string>
預設值:「local」- 免人工管理,已淘汰。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7480。
--remote_max_connections=<an integer>
預設值:「100」-
限制遠端快取/執行工具的並行連線數量上限。預設值為 100。將這個值設為 0 表示沒有限制。以 HTTP 遠端快取來說,一個 TCP 連線一次可處理一個要求,因此 Bazel 最多可以處理 --remote_max_connections 並行要求。就 gRPC 遠端快取/執行工具而言,一個 gRPC 管道通常可以處理超過 100 個並行要求,因此 Bazel 可以大約處理「--remote_max_connections * 100」並行要求。
標記:host_machine_resource_optimizations
--remote_proxy=<a string>
預設值:查看說明- 透過 Proxy 連線至遠端快取。這個旗標目前只能用來設定 Unix 網域通訊端 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer>
預設值:「0」- 將遠端動作儲存在遠端快取中的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_retries=<an integer>
預設值:「5」- 重試暫時錯誤的次數上限。如果設為 0,重試功能就會停用。
--remote_retry_max_delay=<An immutable length of time.>
預設值:「5 秒」- 遠端重試之間的輪詢延遲時間上限。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--remote_timeout=<An immutable length of time.>
預設值:「60 秒」- 等待遠端執行和快取呼叫的時間上限。如果是 REST 快取,這是指連線和讀取逾時。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--[no]remote_upload_local_results
預設值:「true」- 如果遠端快取支援這項功能,且使用者已獲授權,是否要將本機執行的動作結果上傳至遠端快取。
--[no]remote_verify_downloads
預設值:「true」- 如果設為 True,Bazel 會計算所有遠端下載項目的雜湊總和,如果值與預期值不符,就會捨棄遠端快取的值。
- 其他選項,未分類。
- 累積共計
--credential_helper=<Path to a credential helper. It may be absolute, relative to the PATH environment variable, or %workspace%-relative. The path be optionally prefixed by a scope followed by an '='. The scope is a domain name, optionally with a single leading '*' wildcard component. A helper applies to URIs matching its scope, with more specific scopes preferred. If a helper has no scope, it applies to every URI.>
次 - 設定憑證輔助程式,以便擷取用於擷取存放區、遠端快取和執行的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 --google_default_credentials、--google_credentials、.netrc 檔案,或是 repo_ctx.download 和 repository_ctx.download_and_extract 提供的憑證。 可以指定多次輔助程式。 詳情請參閱 https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md。
--credential_helper_cache_duration=<An immutable length of time.>
預設值:「30m」- 快取由憑證輔助程式提供的憑證的時間長度。 以不同的值叫用會調整現有項目的生命週期,傳回零即可清除快取。無論這個標記為何,乾淨的指令一律會清除快取。
--credential_helper_timeout=<An immutable length of time.>
預設值:「10 秒」- 設定憑證輔助程式的逾時時間。 憑證輔助程式若未在逾時期限內回應,會導致叫用失敗。
--deleted_packages=<comma-separated list of package names>
預設值:「」- 以半形逗號分隔的套件名稱清單,建構系統將視為不存在的套件,即使這些套件出現在套件路徑中也一樣。如要刪除現有套件「x」的子套件「x/y」,請使用這個選項。例如,刪除用戶端中的 x/y/BUILD 後,如果遇到「//x:y/z」標籤仍由其他 package_path 項目提供,建構系統可能會抱怨。指定 --deleted_packages x/y 即可避免這個問題。
--disk_cache=<a path>
預設值:查看說明- Bazel 可讀取及寫入動作,以及動作輸出的目錄路徑。如果目錄不存在,系統將建立該目錄。
--google_auth_scopes=<comma-separated list of options>
預設值:「https://www.googleapis.com/auth/cloud-platform」- 以半形逗號分隔的 Google Cloud 驗證範圍清單。
--google_credentials=<a string>
預設值:查看說明- 指定要從中取得驗證憑證的檔案。詳情請參閱 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials
預設值:「false」- 是否要使用「Google 應用程式預設憑證」進行驗證。詳情請參閱 https://cloud.google.com/docs/authentication。預設為停用。
--grpc_keepalive_time=<An immutable length of time.>
預設值:查看說明- 設定傳出 gRPC 連線的保持運作連線偵測 (ping)。如果設定這個值,Bazel 會在連線沒有讀取作業的這段時間過後,傳送連線偵測 (ping),但只有在至少有一個待處理的 gRPC 呼叫時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。根據預設,系統會停用保持運作的連線偵測 (ping)。您必須先與服務擁有者協調,再啟用這項設定。舉例來說,如要將此旗標設為 30 秒,則應設為 --grpc_keepalive_time=30s
--grpc_keepalive_timeout=<An immutable length of time.>
預設值:「20 秒」- 設定傳出 gRPC 連線的保持運作逾時。如果保持運作中的連線偵測 (ping) 已啟用 --grpc_keepalive_time,那麼如果 Bazel 過了這段時間過後仍未收到連線偵測 (ping) 回覆,Bazel 就會逾時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--package_path=<colon-separated list of options>
預設值:「%workspace%」- 以冒號分隔的清單,用於尋找套件。開頭為「%workspace%」的元素與所在工作區有關。如果省略或留空,則預設值為「bazel info default-package-path」的輸出內容。
--[no]show_loading_progress
預設值:「true」- 啟用後,Bazel 列印「Loading package:」訊息。
--tls_certificate=<a string>
預設值:查看說明- 指定受信任的 TLS 憑證路徑,該憑證可簽署伺服器憑證。
--tls_client_certificate=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端憑證;您也需要提供用戶端金鑰來啟用用戶端驗證功能。
--tls_client_key=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端金鑰,也需要提供用戶端憑證來啟用用戶端驗證功能。
測試選項
繼承 build 的所有選項。
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 控制建構執行作業的選項:
--[no]incompatible_remote_dangling_symlinks
預設值:「true」-
如果設為 true,且 --incompatible_remote_symlinks 也設為 True,則動作輸出中的符號連結可以使用。
標記:execution
、incompatible_change
--[no]incompatible_remote_symlinks
預設值:「true」-
如果設為 True,Bazel 會在遠端快取/執行通訊協定的動作輸出中代表符號連結。否則,系統會追蹤符號連結,並以檔案或目錄表示。詳情請參閱 #6631。
標記:execution
、incompatible_change
- 可讓使用者設定預期的輸出內容,並影響其值 (相對於存在):
--bep_maximum_open_remote_upload_files=<an integer>
預設值:「-1」-
上傳 BEP 構件時允許的開啟檔案數量上限。
標記:affects_outputs
--remote_download_minimal
-
系統不會將任何遠端建構輸出內容下載至本機電腦。此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=minimal。
展開為:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=minimal
標記:affects_outputs
--remote_download_outputs=<all, minimal or toplevel>
預設值:「全部」-
如果設為「minimal」,系統不會將任何遠端建構輸出內容下載至本機電腦,但本機動作所需的輸出內容除外。如果設為「頂層」,運作原理就像是「最低」,但同時會將頂層目標的輸出內容下載至本機電腦。如果網路頻寬會造成瓶頸,這兩種選項可以大幅縮短建構時間。
標記:affects_outputs
--remote_download_symlink_template=<a string>
預設值:「」-
建立符號連結,而不要將遠端建構輸出內容下載到本機電腦。符號連結的目標可以使用範本字串的形式指定。這個範本字串可能包含 {hash} 和 {size_bytes},這些字串會分別展開至物件的雜湊和大小 (以位元組為單位)。例如,這些符號連結可能會指向可以隨選載入 CAS 物件的 FUSE 檔案系統。
標記:affects_outputs
--remote_download_toplevel
-
只將頂層目標的遠端輸出內容下載到本機電腦,此旗標是旗標的捷徑:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files、--experimental_action_cache_store_output_metadata 和 --remote_download_outputs=toplevel。
範圍擴展為:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--experimental_action_cache_store_output_metadata
--remote_download_outputs=toplevel
標記:affects_outputs
- 與 Bazel 嚴格強制執行建構輸入項目 (規則定義、旗標組合等) 時相關的選項:
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
--[no]print_relative_test_log_paths
預設值:「false」-
如果為 true,列印測試記錄的路徑時,請使用「testlogs」便利符號連結的相對路徑。注意:如果後續的「build」/'test'/其他叫用具有不同的設定,可能會導致這個符號連結的目標變更,導致先前列印的路徑不再實用。
標記:affects_outputs
--remote_print_execution_messages=<failure, success or all>
預設值:「failure」-
選擇列印遠端執行訊息的時機。有效值為「failure」,僅顯示失敗時列印,「success」只會列印成功,而「all」則一律列印。
標記:terminal_output
--[no]test_verbose_timeout_warnings
預設值:「false」-
如果為 true,當實際測試執行時間與測試定義的逾時時間不符 (無論是暗示或明確) 時,系統會顯示其他警告。
標記:affects_outputs
--[no]verbose_test_summary
預設值:「true」-
如果為 true,系統會在測試摘要中顯示額外資訊,包括時間、失敗的執行作業數量等。
標記:affects_outputs
- 這些選項可指定或變更不屬於其他類別的 Bazel 指令一般輸入內容:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_circuit_breaker_strategy=<failure>
預設值:查看說明-
指定斷路器要使用的策略。可用的策略「失敗」。選項的值無效時,系統不會設定該選項的行為。
標記:execution
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
--[no]experimental_guard_against_concurrent_changes
預設值:「false」- 關閉這項功能後,系統就不會在將動作上傳到遠端快取前,先檢查輸入檔案的時時檢查時間。在某些情況下,Linux kernel 會延遲寫入檔案,導致出現誤判狀況。
--experimental_remote_build_event_upload=<all or minimal>
預設值:「全部」- 如果設為「all」,BEP 參照的所有本機輸出都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出將不會上傳到遠端快取,除非是 BEP 使用者的重要檔案 (例如測試記錄和時間設定檔)。此外,即使遠端快取缺少這些檔案,系統仍會將 bytestream:// scheme 用於檔案 URI。 預設為「all」。
--[no]experimental_remote_cache_async
預設值:「false」- 如果為 true,系統會在背景中執行遠端快取 I/O,而不會做為產生作業的一部分進行。
--[no]experimental_remote_cache_compression
預設值:「false」- 如果已啟用,請使用 zstd 來壓縮/解壓縮快取 blob。
--experimental_remote_capture_corrupted_outputs=<a path>
預設值:查看說明- 用於擷取損毀輸出內容的目錄路徑。
--[no]experimental_remote_discard_merkle_trees
預設值:「false」- 如果設為 true,在呼叫 GetActionResult() 和 Execute() 時,捨棄輸入根樹狀結構的 Merkle 樹狀結構和相關聯的輸入對應記憶體內副本。這可大幅降低記憶體用量,但 Bazel 會在遠端快取失敗及重試時重新計算記憶體用量。
--experimental_remote_downloader=<a string>
預設值:查看說明- Remote Asset API 端點 URI,可做為遠端下載 Proxy 使用。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。詳情請參閱:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_downloader_local_fallback
預設值:「false」- 如果遠端下載工具失敗,是否要改回本機下載工具。
--[no]experimental_remote_execution_keepalive
預設值:「false」- 是否要針對遠端執行呼叫使用 Keepalive。
--experimental_remote_failure_rate_threshold=<an integer in 0-100 range>
預設值:「10」-
設定特定時間範圍的失敗率 (百分比),超過該值後就會停止呼叫遠端快取/執行程式。預設值為 10。將這個值設為 0 表示沒有限制。
標記:execution
--experimental_remote_failure_window_interval=<An immutable length of time.>
預設值:「60 秒」-
計算遠端要求失敗率的間隔時間。如果值為 0 或負數,則會計算失敗持續時間的整個期間。您可以使用下列單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
標記:execution
--[no]experimental_remote_mark_tool_inputs
預設值:「false」- 如果設為 True,Bazel 會將輸入內容標示為遠端執行器的工具輸入內容。這可用於實作遠端永久工作站。
--[no]experimental_remote_merkle_tree_cache
預設值:「false」- 如果設為 True,系統會記下 Merkle 樹狀圖的計算結果,以改善遠端快取命中檢查的速度。快取的記憶體足跡是由 --experimental_remote_merkle_tree_cache_size 控管。
--experimental_remote_merkle_tree_cache_size=<a long integer>
預設值:「1000」- 要提高遠端快取命中檢查速度的 Merkle 樹狀結構數量。即使快取會根據 Java 處理軟參照的方式自動截斷,如果設定過高,也可能會發生記憶體不足錯誤。如果設為 0,則快取大小則沒有限制。最佳值會因專案大小而異。預設值為 1000。
--[no]experimental_remote_require_cached
預設值:「false」- 如果設為 True,強制系統只快取可從遠端執行的所有動作,否則建構會失敗。這有助於解決非確定性問題,因為可以檢查系統是否應該快取要快取的動作,而不會明確將新結果插入快取。
--[no]incompatible_remote_build_event_upload_respect_no_cache
預設值:「false」- 如果設為 true,BEP 參照的輸出內容就不會上傳到遠端快取,但若無法從遠端快取產生的動作。
--[no]incompatible_remote_downloader_send_all_headers
預設值:「true」-
指定是否將多值標頭的所有值 (而非第一個) 傳送至遠端下載工具。
標記:incompatible_change
--[no]incompatible_remote_output_paths_relative_to_input_root
預設值:「false」-
如果設為 true,輸出路徑是相對於輸入根目錄,而不是工作目錄。
標記:incompatible_change
--[no]incompatible_remote_results_ignore_disk
預設值:「true」-
如果設為 True,--noremote_upload_local_results 和 --noremote_accept_cached 不會套用至磁碟快取。如果使用合併的快取:
--noremote_upload_local_results 會導致結果寫入磁碟快取,但不會將結果上傳至遠端快取。
--noremote_accept_cached 會導致 Bazel 檢查磁碟快取中的結果,但不會出現在遠端快取中。no-remote-exec 動作可以觸發磁碟快取。詳情請參閱 #8216。
標記:incompatible_change
--[no]incompatible_remote_use_new_exit_code_for_lost_inputs
預設值:「false」-
如果設為 True,如果遠端快取在建構期間清除 blob,Bazel 將使用新的結束代碼 39,而非 34。
標記:incompatible_change
--[no]remote_accept_cached
預設值:「true」- 是否接受遠端快取動作執行結果。
--remote_bytestream_uri_prefix=<a string>
預設值:查看說明- 要用於寫入建構事件串流的 bytestream:// URI 中的主機名稱和執行個體名稱。您可以在使用 Proxy 執行建構作業時設定這個選項,導致 --remote_executor 和 --remote_instance_name 的值不再對應至遠端執行服務的正規名稱。如未設定,則預設值為「${hostname}/${instance_name}」。
--remote_cache=<a string>
預設值:查看說明- 快取端點的 URI。支援的結構定義包括 http、https、grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc://、http:// 或 unix: 結構定義,以便停用 TLS。詳情請參閱 https://bazel.build/remote/caching
- 累積共計
--remote_cache_header=<a 'name=value' assignment>
次 - 指定要納入快取要求中的標頭:--remote_cache_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_default_exec_properties=<a 'name=value' assignment>
次 -
如果執行平台尚未設定 exec_properties,請設定預設的 exec 屬性做為遠端執行平台。
標記:affects_outputs
--remote_default_platform_properties=<a string>
預設值:「」- 如果執行平台尚未設定 Remote_execution_properties,請設定遠端執行 API 的預設平台屬性。如果已選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
- 累積共計
--remote_downloader_header=<a 'name=value' assignment>
次 - 指定遠端下載工具要求的標頭:--remote_downloader_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
- 累積共計
--remote_exec_header=<a 'name=value' assignment>
次 - 指定要納入執行要求中的標頭:--remote_exec_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_execution_priority=<an integer>
預設值:「0」- 要從遠端執行的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_executor=<a string>
預設值:查看說明- 遠端執行端點的主機或主機:PORT。支援的結構定義包括 grpc、grpcs (已啟用 TLS 的 grpc) 和 unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設為 grpcs。指定 grpc:// 或 unix:要停用 TLS 的結構定義。
--remote_grpc_log=<a path>
預設值:查看說明- 如有指定,用於記錄 gRPC 呼叫相關詳細資料的檔案路徑。這個記錄包含序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobufs 序列,每則訊息前綴都是以 varint 表示下列序列化 protobuf 訊息的大小,如 LogEntry.writeDelimitedTo(OutputStream) 方法所執行。
- 累積共計
--remote_header=<a 'name=value' assignment>
次 - 指定要納入要求中的標頭:--remote_header=Name=Value。多次指定旗標即可傳遞多個標頭。如果同名的多個值,系統會將其轉換為以半形逗號分隔的清單。
--remote_instance_name=<a string>
預設值:「」- 在遠端執行 API 中傳遞為 instance_name 的值。
--[no]remote_local_fallback
預設值:「false」- 如果遠端執行失敗,是否要改回使用獨立的本機執行策略。
--remote_local_fallback_strategy=<a string>
預設值:「local」- 免人工管理,已淘汰。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7480。
--remote_max_connections=<an integer>
預設值:「100」-
限制遠端快取/執行工具的並行連線數量上限。預設值為 100。將這個值設為 0 表示沒有限制。以 HTTP 遠端快取來說,一個 TCP 連線一次可處理一個要求,因此 Bazel 最多可以處理 --remote_max_connections 並行要求。就 gRPC 遠端快取/執行工具而言,一個 gRPC 管道通常可以處理超過 100 個並行要求,因此 Bazel 可以大約處理「--remote_max_connections * 100」並行要求。
標記:host_machine_resource_optimizations
--remote_proxy=<a string>
預設值:查看說明- 透過 Proxy 連線至遠端快取。這個旗標目前只能用來設定 Unix 網域通訊端 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer>
預設值:「0」- 將遠端動作儲存在遠端快取中的相對優先順序。特定優先順序值的語意取決於伺服器。
--remote_retries=<an integer>
預設值:「5」- 重試暫時錯誤的次數上限。如果設為 0,重試功能就會停用。
--remote_retry_max_delay=<An immutable length of time.>
預設值:「5 秒」- 遠端重試之間的輪詢延遲時間上限。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--remote_timeout=<An immutable length of time.>
預設值:「60 秒」- 等待遠端執行和快取呼叫的時間上限。如果是 REST 快取,這是指連線和讀取逾時。可使用以下單位:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。如果省略單位,系統會將值解讀為秒。
--[no]remote_upload_local_results
預設值:「true」- 如果遠端快取支援這項功能,且使用者已獲授權,是否要將本機執行的動作結果上傳至遠端快取。
--[no]remote_verify_downloads
預設值:「true」- 如果設為 True,Bazel 會計算所有遠端下載項目的雜湊總和,如果值與預期值不符,就會捨棄遠端快取的值。
- 其他選項,未分類。
- 累積共計
--credential_helper=<Path to a credential helper. It may be absolute, relative to the PATH environment variable, or %workspace%-relative. The path be optionally prefixed by a scope followed by an '='. The scope is a domain name, optionally with a single leading '*' wildcard component. A helper applies to URIs matching its scope, with more specific scopes preferred. If a helper has no scope, it applies to every URI.>
次 - 設定憑證輔助程式,以便擷取用於擷取存放區、遠端快取和執行的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 --google_default_credentials、--google_credentials、.netrc 檔案,或是 repo_ctx.download 和 repository_ctx.download_and_extract 提供的憑證。 可以指定多次輔助程式。 詳情請參閱 https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md。
--credential_helper_cache_duration=<An immutable length of time.>
預設值:「30m」- 快取由憑證輔助程式提供的憑證的時間長度。 以不同的值叫用會調整現有項目的生命週期,傳回零即可清除快取。無論這個標記為何,乾淨的指令一律會清除快取。
--credential_helper_timeout=<An immutable length of time.>
預設值:「10 秒」- 設定憑證輔助程式的逾時時間。 憑證輔助程式若未在逾時期限內回應,會導致叫用失敗。
--disk_cache=<a path>
預設值:查看說明- Bazel 可讀取及寫入動作,以及動作輸出的目錄路徑。如果目錄不存在,系統將建立該目錄。
--google_auth_scopes=<comma-separated list of options>
預設值:「https://www.googleapis.com/auth/cloud-platform」- 以半形逗號分隔的 Google Cloud 驗證範圍清單。
--google_credentials=<a string>
預設值:查看說明- 指定要從中取得驗證憑證的檔案。詳情請參閱 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials
預設值:「false」- 是否要使用「Google 應用程式預設憑證」進行驗證。詳情請參閱 https://cloud.google.com/docs/authentication。預設為停用。
--grpc_keepalive_time=<An immutable length of time.>
預設值:查看說明- 設定傳出 gRPC 連線的保持運作連線偵測 (ping)。如果設定這個值,Bazel 會在連線沒有讀取作業的這段時間過後,傳送連線偵測 (ping),但只有在至少有一個待處理的 gRPC 呼叫時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。根據預設,系統會停用保持運作的連線偵測 (ping)。您必須先與服務擁有者協調,再啟用這項設定。舉例來說,如要將此旗標設為 30 秒,則應設為 --grpc_keepalive_time=30s
--grpc_keepalive_timeout=<An immutable length of time.>
預設值:「20 秒」- 設定傳出 gRPC 連線的保持運作逾時。如果保持運作中的連線偵測 (ping) 已啟用 --grpc_keepalive_time,那麼如果 Bazel 過了這段時間過後仍未收到連線偵測 (ping) 回覆,Bazel 就會逾時。系統會將時間視為第二次精細程度;設為小於一秒的值將視為錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
--tls_certificate=<a string>
預設值:查看說明- 指定受信任的 TLS 憑證路徑,該憑證可簽署伺服器憑證。
--tls_client_certificate=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端憑證;您也需要提供用戶端金鑰來啟用用戶端驗證功能。
--tls_client_key=<a string>
預設值:查看說明- 指定要使用的 TLS 用戶端金鑰,也需要提供用戶端憑證來啟用用戶端驗證功能。
版本選項
- 出現在指令之前,並由用戶端剖析的選項:
- 累積共計
--distdir=<a path>
次 -
存取網路以便下載封存檔的其他位置。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_hardlinks
預設值:「false」-
如果已設定,存放區快取會在快取命中時 (而不是複製) 檔案。這麼做是為了節省磁碟空間。
標記:bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id
預設值:「false」-
如果為 true,則使用從存放區下載網址衍生的字串,如未指定 canonical_id。如此一來,即使快取含有相同雜湊的下載內容,網址異動仍會導致重新下載作業。這可用來確認網址變更不會導致快取遮蓋毀損的存放區。
標記:loading_and_analysis
、experimental
--[no]experimental_repository_disable_download
預設值:「false」-
如果已設定,則不允許下載外部存放區。
標記:experimental
--experimental_repository_downloader_retries=<an integer>
預設值:「0」-
重試下載錯誤的次數上限。如果設為 0,重試功能就會停用。
標記:experimental
--experimental_scale_timeouts=<a double>
預設值:「1.0」-
依據這項因素擴充 Starlark 存放區規則中的所有逾時。如此一來,即使沒有變更原始碼,也能在速度低於規則作者的機器上執行外部存放區
標記:bazel_internal_configuration
、experimental
--http_timeout_scaling=<a double>
預設值:「1.0」-
依據指定因素擴充所有與 http 下載相關的逾時設定。
標記:bazel_internal_configuration
--repository_cache=<a path>
預設值:查看說明-
指定擷取外部存放區時取得的下載值的快取位置。做為引數的空字串,要求停用快取。
標記:bazel_internal_configuration
- 可讓使用者設定預期的輸出內容,影響其值 (而非存在):
--[no]gnu_format
預設值:「false」-
設定後,請按照 GNU 標準中所述的慣例,將版本寫入 stdout。
標記:affects_outputs
、execution
- 選項會影響 Bazel 嚴格強制執行有效建構輸入的選項 (規則定義、旗標組合等):
--experimental_repository_hash_file=<a string>
預設值:「」-
如果非空白,請指定包含解析值的檔案,並應用於驗證存放區目錄雜湊
標記:affects_outputs
、experimental
- 累積共計
--experimental_verify_repository_rules=<a string>
次 -
如果存放區規則清單要驗證輸出目錄的雜湊,請以 --experimental_repository_hash_file 指定檔案。
標記:affects_outputs
、experimental
- 這個選項會影響 Starlark 語言的語意,或是可供 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案存取的建構 API:
--[no]experimental_allow_top_level_aspects_parameters
預設值:「true」-
免人工管理
標記:no_op
、deprecated
、experimental
- Bzlmod 輸出和語意相關選項:
- 累積共計
--allow_yanked_versions=<a string>
次 -
以 <module1@version1>、<module2>@<version2> 的格式指定模組版本,以便於已解析的依附元件圖中宣告,即使這些版本來自其來源的登錄檔中已宣告 (前提是這些版本並非來自 NonRegistryOverride)。否則版本如果無法使用,解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的 yanked 版本。如要停用這項檢查,您可以使用關鍵字「全部」(不建議採用)。
標記:loading_and_analysis
--check_bazel_compatibility=<error, warning or off>
預設值:「錯誤」-
檢查 Bazel 模組的 Bazel 版本相容性。有效值為「error」將錯誤提報給解決方法,「off」可停用檢查,「警告」則可在偵測到不相符情形時顯示警告。
標記:loading_and_analysis
--check_direct_dependencies=<off, warning or error>
預設值:「warning」-
請檢查根模組中宣告的直接「bazel_dep」依附元件,是否與解析的依附元件圖表中所取得的版本相同。有效值為「off」來停用檢查,「warning」會在偵測到不相符情形時顯示警告,或設為「error」將問題提報給解決失敗問題。
標記:loading_and_analysis
--[no]ignore_dev_dependency
預設值:「false」-
如果設為 true,Bazel 會忽略在根模組的 MODULE.bazel 中宣告為「dev_dependency」的「bazel_dep」和「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記:loading_and_analysis
--lockfile_mode=<off, update or error>
預設值:「關閉」-
指定使用 Lockfile 的方式和是否使用。有效值為「update」使用鎖定檔案,並在有變更時更新。如果出現「error」,表示要使用鎖定檔案,但會擲回錯誤;如果不是最新資料,則會擲回錯誤,「關閉」則不會讀取或寫入鎖定檔案。
標記:loading_and_analysis
- 累積共計
--override_module=<an equals-separated mapping of module name to path>
次 - 以 <module name>=<path> 的形式覆寫具有本機路徑的模組。如果指定路徑是絕對路徑,則會依現狀使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄 (也就是「bazel info workspace」的輸出內容)
- 累積共計
--registry=<a string>
次 -
指定要用於尋找 Bazel 模組依附元件的註冊資料庫。順序至關重要:系統會先在先前的註冊資料庫中查詢模組,而且只有在較新的註冊資料庫缺少這些模組時,才會返回先前的註冊資料庫。
標記:changes_inputs
- 會影響記錄詳細程度、格式或位置的選項:
--[no]experimental_record_metrics_for_all_mnemonics
預設值:「false」- 根據預設,動作類型不得超過執行次數最多的 20 個記憶法。設定此選項會寫入所有助聽記錄的統計資料。
- 可以在不屬於其他類別的 Bazel 指令中指定或修改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string>
預設值:「」-
如果並非空白,請讀取指定的已解析檔案,而不是 WORKSPACE 檔案
標記:changes_inputs
- 遠端快取和執行選項:
--experimental_downloader_config=<a string>
預設值:查看說明- 指定要用於設定遠端下載工具的檔案。這個檔案由程式行組成,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面接著主機名稱 (「allow」和「block」) 或兩個模式,一個用於比對,另一個則做為替代網址使用,且可從「$1」開始傳回反向參照。同一個網址可以傳回多個「重新編寫」指令,而同一個網址則會傳回多個「重新編寫」指令。
- 其他選項,未分類。
- 累積共計
--override_repository=<an equals-separated mapping of repository name to path>
次 - 以 <repository name>=<path> 形式的本機路徑覆寫存放區。如果指定路徑是絕對路徑,則會依現有路徑使用。如果指定路徑是相對路徑,則會與目前使用中的目錄有關。如果指定路徑開頭為「%workspace%」,就表示該路徑是相對於工作區根目錄,也就是「bazel info workspace」的輸出內容。
選項效果標記
unknown |
這個選項具有不明或未記錄的效果。 |
no_op |
這個選項實際上沒有任何作用。 |
loses_incremental_state |
變更這個選項的值可能會大幅損失漸進式狀態,並拖慢建構速度。狀態可能會因為伺服器重新啟動,或依附元件圖表大部分的部分無效而遺失。 |
changes_inputs |
這個選項會主動變更 bazel 為建構作業考量的輸入內容,例如檔案系統限制、存放區版本或其他選項。 |
affects_outputs |
這個選項會影響 bazel 的輸出內容。此標記刻意廣泛,可能包括轉換影響,而且不會指定它影響的輸出類型。 |
build_file_semantics |
這個選項會影響 BUILD 或 .bzl 檔案的語意。 |
bazel_internal_configuration |
這個選項會影響 bazel-internal 機械的設定。這類代碼本身並不代表建構構件受到影響。 |
loading_and_analysis |
這個選項會影響依附元件的載入和分析,以及依附元件圖表的建構作業。 |
execution |
這個選項會影響執行階段,例如沙箱或遠端執行相關選項。 |
host_machine_resource_optimizations |
這個選項會觸發特定機器專屬的最佳化作業,而且不保證能在所有機器上執行。最佳化功能可以考慮與其他效能層面 (例如記憶體或 CPU 成本) 進行取捨。 |
eagerness_to_exit |
這個選項會變更因失敗而結束的焦距,也就是選擇失敗和結束叫用時繼續選擇的方法。 |
bazel_monitoring |
這個選項可用於監控 bazel 的行為和效能。 |
terminal_output |
這個選項會影響 bazel 的終端機輸出內容。 |
action_command_lines |
這個選項會變更一或多個建構動作的指令列引數。 |
test_runner |
這個選項會變更建構作業的 testRunner 環境。 |
選項中繼資料標記
experimental |
這個選項會觸發實驗功能,但不保證能正常運作。 |
incompatible_change |
這個選項會觸發破壞性變更。使用這個選項測試您是否已做好遷移準備,或搶先體驗新功能 |
deprecated |
這個選項已淘汰,問題可能出在功能已不適用,或建議採用其他提供資訊的方法。 |
explicit_in_output_path |
輸出目錄中會明確提及此選項。 |