指令列參考資料

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]

Tristate 選項通常設為「auto」 強制啟用的步驟如下:

--<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 停止 Terraform 伺服器。
sync 同步處理工作區檔案中指定的所有存放區
test 建構並執行指定的測試目標。
vendor 將外部存放區擷取到標記 --vendor_dir 指定的資料夾中。
version 列印 bazel 版本資訊。

開機選項

顯示在指令之前且由用戶端剖析的選項:
--[no]autodetect_server_javabase 預設值:「true」
傳遞 --noautodetect_server_javabase 時,Bazel 不會為了執行 Bazel 伺服器而改回使用本機 JDK。
標記: affects_outputsloses_incremental_state
--[no]batch 預設值:「false」
如果設定這項政策,Bazel 就像用戶端程序一樣在沒有伺服器的情況下執行,而不是在標準用戶端/伺服器模式下執行。這個功能已淘汰且即將移除。如要避免伺服器停擺,請明確關閉伺服器。
標記: loses_incremental_statebazel_internal_configurationdeprecated
--[no]batch_cpu_scheduling 預設值:「false」
僅適用於 Linux;使用「batch」Blaze 的 CPU 排程。這項政策適用於非互動式的工作負載,但不希望降低工作負載的價值。請參閱「man 2 sched_setscheduler」。如果設為 False,Bazel 就不會執行系統呼叫。
標記: host_machine_resource_optimizations
--bazelrc=<path> 預設:查看說明
含有 Bazel 選項預設值的使用者 .bazelrc 檔案的位置。/dev/null 表示系統會忽略其餘的 `--bazelrc`,這有助於停用使用者弧形檔案搜尋功能 (例如推出新版本 也可以多次指定這個選項。 例如:具有 `--bazelrc=x.rc --bazelrc --bazelrc=/dev/null --bazelrc=z.rc` 1) 讀取 x.rc 和 y.rc。 2) z.rc 因之前的 /dev/null 而遭到忽略。 如果未指定,Bazel 會使用在下列兩個位置找到的第一個 .bazelrc 檔案:工作區目錄,接著是使用者的主目錄。 注意:指令列選項一律會取代 bazelrc 中的任何選項。
標記: changes_inputs
--[no]block_for_lock 預設值:「true」
傳遞 --noblock_for_lock 時,Bazel 不會等待執行中的指令完成,而是立即結束。
標記: eagerness_to_exit
--[no]client_debug 預設值:「false」
如為 true,將偵錯資訊從用戶端記錄到 stderr。變更這個選項不會導致伺服器重新啟動。
標記: affects_outputsbazel_monitoring
--connect_timeout_secs=<an integer> 預設:「30」
用戶端每次嘗試連線至伺服器時等待的時間長度
標記: bazel_internal_configuration
圖示
--digest_function=<hash function> 預設:查看說明
計算檔案摘要時使用的雜湊函式。
標記: loses_incremental_statebazel_internal_configuration
--[no]expand_configs_in_place 預設值:「true」
將 --config 旗標的擴充內容變更為直接完成,而不是在一般 rc 選項和指令列指定選項之間進行固定點展開。
標記: no_opdeprecated
--failure_detail_out=<path> 預設:查看說明
設定後,會指定伺服器發生失敗時,要寫入 failed_detail protobuf 訊息的位置,且無法像往常一樣透過 gRPC 回報該訊息。否則位置為 ${OUTPUT_BASE}/failure_detail.rawproto。
標記: affects_outputsloses_incremental_state
--[no]home_rc 預設值:「true」
是否要在 $HOME/.bazelrc 尋找主要的 bazelrc 檔案
標記: changes_inputs
圖示
--[no]idle_server_tasks 預設值:「true」
在伺服器閒置時執行 System.gc()
標記: loses_incremental_statehost_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;使用 sys_ioprio_set 系統呼叫,將等級設為 0 到 7 以獲得最佳 IO 排程。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」
建構伺服器在關閉前等待的秒數。零表示伺服器一律不會關閉。這項設定只會在伺服器啟動時讀取,變更這個選項不會導致伺服器重新啟動。
標記: eagerness_to_exitloses_incremental_state
--output_base=<path> 預設:查看說明
設定後,會指定要將所有建構輸出內容寫入的輸出位置。否則位於 ${OUTPUT_ROOT}/_blaze_${USER}/${MD5_OF_WORKSPACE_ROOT}。注意:如果您針對這個值指定不同選項與下一個 Bazel 叫用的選項,可能會啟動新的 Bazel 伺服器。Bazel 只會在每個指定的輸出基礎上啟動一個伺服器。一般來說,每個工作區都會有一個輸出基礎,不過使用這個選項時,每個工作區可能會有多個輸出基礎,因此可在同一部機器中,為同一個用戶端同時執行多個建構作業。請參閱「bazel Help 關閉」瞭解如何關閉 Bazel 伺服器
標記: affects_outputsloses_incremental_state
--output_user_root=<path> 預設:查看說明
寫入所有建構輸出內容的使用者專屬目錄;根據預設,這是 $USER 的函式,但指定常數後,即可讓協作使用者共享建構輸出內容。
標記: affects_outputsloses_incremental_state
--[no]preemptible 預設值:「false」
如果為 true,則透過其他指令啟動時,該指令可能會遭到先佔。
標記: eagerness_to_exit
--server_jvm_out=<path> 預設:查看說明
寫入伺服器 JVM 輸出內容的位置。如未設定,則會預設為 output_base 中的位置。
標記: affects_outputsloses_incremental_state
--[no]shutdown_on_low_sys_mem 預設值:「false」
如果設定了 max_idle_secs,且建構伺服器已閒置一段時間,請在系統可用 RAM 電量不足時關閉伺服器。僅適用於 Linux。
標記: eagerness_to_exitloses_incremental_state
--[no]system_rc 預設值:「true」
是否尋找整個系統層級的電池。
標記: changes_inputs
--[no]unlimit_coredumps 預設值:「false」
將軟核心傾印限制提高至硬性限制,讓伺服器 (包括 JVM) 和用戶端在常見情況下能夠產生核心傾印。請在 bazelrc 中貼上這個旗標一次,然後便忘記它,這樣當您實際遇到觸發核心傾印的條件時,就可以取得核心傾印。
標記: bazel_internal_configuration
--[no]watchfs 預設值:「false」
如果設為 true,bazel 會嘗試使用作業系統的檔案監控服務進行本機變更,而不是掃描每個檔案是否都含有變更。
標記: deprecated
如果設為 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_ui_max_stdouterr_bytes=<an integer in (-1)-1073741819 range> 預設:「1048576」
要列印到控制台的 stdout / stderr 檔案的大小上限。-1 表示無限制。
標記: execution
如果設為 True,即可允許上傳至遠端或磁碟快取的符號連結。
標記: executionincompatible_change
如果設為 true,Bazel 一律會將符號連結上傳到遠端或磁碟快取。否則,系統會將非孤立的相對符號連結 (且僅限該連結) 上傳為指向的檔案或目錄。
標記: executionincompatible_change
設定動作執行的工具鍊選項:
--[no]incompatible_enable_proto_toolchain_resolution 預設值:「false」
如果設為 true,proto lang 規則會從 rules_proto、rules_java 和 rules_cc 存放區定義 Toolchains。
標記: loading_and_analysisincompatible_change
選項,讓使用者設定預期輸出 (影響其值),而不是影響輸出的存在:
--bep_maximum_open_remote_upload_files=<an integer> 預設:「-1」
上傳 BEP 構件時可開啟的開啟檔案數量上限。
標記: affects_outputs
--remote_download_all
將所有遠端輸出內容下載到本機電腦。這個旗標是 --remote_download_outputs=all 的別名。
展開至:
--remote_download_outputs=all

標記: affects_outputs
圖示
--remote_download_minimal
不會將任何遠端建構輸出內容下載到本機電腦。這個旗標是 --remote_download_outputs=minimal 的別名。
展開至:
--remote_download_outputs=minimal

標記: affects_outputs
圖示
--remote_download_outputs=<all, minimal or toplevel> 預設值:「頂層」
如果設為「minimal」不會將本機動作所需的任何遠端建構輸出內容下載至本機電腦。如果設為「toplevel」表現得「極簡」但也會將頂層目標的輸出內容下載至本機電腦如果網路頻寬是瓶頸,這兩個選項都可以大幅縮短建構時間。
標記: affects_outputs
建議您建立符號連結,而非將遠端建構輸出內容下載至本機電腦。可以使用範本字串的形式,指定符號連結的目標。這個範本字串可能包含 {hash} 和 {size_bytes},分別展開為物件的雜湊和大小 (以位元組為單位)。舉例來說,這些符號連結可指向能隨選從 CAS 載入物件的 FUSE 檔案系統。
標記: affects_outputs
--remote_download_toplevel
只將頂層目標的遠端輸出下載到本機電腦。這個旗標是 --remote_download_outputs=toplevel 的別名。
展開至:
--remote_download_outputs=toplevel

標記: affects_outputs
圖示
累積 --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 檔案可存取的 Build API。
--[no]enable_bzlmod 預設值:「true」
如果設為 true,則啟用 Bzlmod 依附元件管理系統,優先度高於 WORKSPACE。詳情請參閱 https://bazel.build/docs/bzlmod。
標記: loading_and_analysis
--[no]enable_workspace 預設值:「true」
如為 true,則針對外部依附元件啟用舊版 WORKSPACE 系統。詳情請參閱 https://bazel.build/external/overview。
標記: loading_and_analysis
--[no]experimental_action_resource_set 預設值:「true」
如果設為 true,ctx.actions.run() 和 ctx.actions.run_shell() 會接受 resource_set 參數,在本機執行。如未使用這個選項,則記憶體容量會預設為 250 MB,CPU 則預設為 1 個 CPU。
標記: executionbuild_file_semanticsexperimental
--[no]experimental_bzl_visibility 預設值:「true」
啟用後,即可新增 `visibility()` 函式,.bzl 檔案可能會在頂層評估期間呼叫,以設定其瀏覽權限,以便用於 load() 陳述式。
標記: loading_and_analysisexperimental
--[no]experimental_cc_shared_library 預設值:「false」
如果設為 true,即可使用 cc_shared_library 規則所需的規則屬性和 Starlark API 方法
標記: build_file_semanticsloading_and_analysisexperimental
--[no]experimental_disable_external_package 預設值:「false」
如果設為 true,將無法使用自動產生的 //外部套件。Bazel 還是無法剖析「external/BUILD」檔案,但透過未命名套件從 glob 傳入外部/ 即可。
標記: loading_and_analysisloses_incremental_stateexperimental
--[no]experimental_enable_android_migration_apis 預設值:「false」
如果設為 true,則會啟用支援 Android Starlark 遷移作業所需的 API。
標記: build_file_semantics
--[no]experimental_enable_scl_dialect 預設值:「false」
如果設為 true,.scl 檔案便可在 load() 陳述式中使用。
標記: build_file_semantics
--[no]experimental_google_legacy_api 預設值:「false」
如果設為 True,就會公開許多與 Google 舊版程式碼相關的 Starlark 建構 API 實驗性部分。
標記: loading_and_analysisexperimental
--[no]experimental_isolated_extension_usages 預設值:「false」
如果為 true,則會啟用<code>均分</code>加入 <a href="https://bazel.build/rules/lib/globals/module#use_extension"><code>use_extension</code></a> 的函式。
標記: loading_and_analysis
--[no]experimental_java_library_export 預設值:「false」
啟用後,即可使用 experiment_java_library_export_do_not_use 模組。
標記: loading_and_analysisincompatible_change
--[no]experimental_platforms_api 預設值:「false」
如果設為 true,就會啟用多個與平台相關的 Starlark API,用於偵錯。
標記: loading_and_analysisexperimental
--[no]experimental_repo_remote_exec 預設值:「false」
如果設為 true,Repository_rule 會取得一些遠端執行功能。
標記: build_file_semanticsloading_and_analysisexperimental
--[no]experimental_sibling_repository_layout 預設值:「false」
如果設為 true,則非主要存放區會成為執行根目錄中主要存放區的符號連結。也就是說,所有存放區都是 $output_base/execution_root 目錄的直接子項。這會釋放 $output_base/execution_root/__main__/external 做為實際頂層「external」的副作用目錄。
標記: action_command_linesbazel_internal_configurationloading_and_analysisloses_incremental_stateexperimental
--[no]incompatible_allow_tags_propagation 預設值:「true」
如果設為 true,標記就會從目標推送至動作執行需求否則就不會傳播詳情請參閱 https://github.com/bazelbuild/bazel/issues/8830。
標記: build_file_semanticsexperimental
--[no]incompatible_always_check_depset_elements 預設值:「true」
檢查所有建構函式中,新增至 depset 的元素是否有效。元素不可變更,但過去 depset(direct=...) 建構函式會忘記檢查。在 depset 元素中使用元組,而非清單。詳情請參閱 https://github.com/bazelbuild/bazel/issues/10313。
標記: build_file_semanticsincompatible_change
--[no]incompatible_depset_for_java_output_source_jars 預設值:「true」
如果設為 true,Bazel 不會再傳回 java_info.java_output[0].source_jars 的清單,而是改為傳回 depset。
標記: loading_and_analysisincompatible_change
如果設為 true,Bazel 不會再傳回 links_context.libraries_to_link 的清單,而是改為傳回 Depset。
標記: loading_and_analysisincompatible_change
--[no]incompatible_disable_objc_library_transition 預設值:「true」
停用 objc_library 的自訂轉場效果,並沿用頂層目標
標記: build_file_semanticsincompatible_change
--[no]incompatible_disable_starlark_host_transitions 預設值:「false」
如果設為 true,規則屬性就無法設定「cfg = "host"」。規則應設定「cfg = "exec"」。
標記: loading_and_analysisincompatible_change
--[no]incompatible_disable_target_provider_fields 預設值:「false」
如果設為 true,則停用在「target」上存取供應商的功能定義物件的請改用 provider-key 語法。舉例來說,請使用 `ctx.attr.dep[MyInfo]`,從規則實作函式內部存取 `my_info`,而不要使用 `ctx.attr.dep.my_info`。詳情請參閱 https://github.com/bazelbuild/bazel/issues/9014。
標記: build_file_semanticsincompatible_change
--[no]incompatible_disallow_empty_glob 預設值:「false」
如果設為 true,glob() 的 `allow_empty` 引數預設值為 False。
標記: build_file_semanticsincompatible_change
--[no]incompatible_disallow_struct_provider_syntax 預設值:「false」
如果設為 true,規則實作函式可能不會傳回結構體。而必須改為傳回提供者執行個體的清單。
標記: build_file_semanticsincompatible_change
--[no]incompatible_enable_deprecated_label_apis 預設值:「true」
如果啟用,您可以使用某些已淘汰的 API (native.repository_name、Label.workspace_name、Label.relative)。
標記: loading_and_analysis
--[no]incompatible_existing_rules_immutable_view 預設值:「true」
如果設為 true, native.existing_rule 和 native.existing_rules 會傳回輕量不可變動的 View 物件,而非可變動的字典。
標記: build_file_semanticsloading_and_analysisincompatible_change
--[no]incompatible_fail_on_unknown_attributes 預設值:「true」
若啟用,將不明屬性設為「無」的目標會失敗。
標記: loading_and_analysisincompatible_change
--[no]incompatible_fix_package_group_reporoot_syntax 預設值:「true」
在 package_group 的「packages」屬性中,變更「//...」值的意義參照目前存放區中的所有套件,而非任何存放區中的所有套件。您可以使用特殊值「public」以「//...」取代才能取得舊行為您必須一併啟用 --incompatible_package_group_has_public_syntax,才能加上這個旗標。
標記: build_file_semanticsincompatible_change
--[no]incompatible_java_common_parameters 預設值:「true」
如果設為 true,則 pack_sources 中的 output_jar 和 host_javabase 參數將全數移除。
標記: build_file_semanticsincompatible_change
--[no]incompatible_merge_fixed_and_default_shell_env 預設值:「true」
如果啟用,則使用 ctx.actions.run 和 ctx.actions.run_shell 註冊的動作,同時使用「env」「use_default_shell_env = True」指定的環境將使用從預設殼層環境取得的環境,並覆寫傳送至「env」的值。如果停用的話,「env」的值在此情況下,系統會完全忽略。
標記: loading_and_analysisincompatible_change
--[no]incompatible_new_actions_api 預設值:「true」
如果設為 true,建立動作的 API 僅適用於「ctx.actions」,無法用於「ctx」。
標記: build_file_semanticsincompatible_change
--[no]incompatible_no_attr_license 預設值:「true」
如果設為 true,則會停用 `attr.license` 函式。
標記: build_file_semanticsincompatible_change
--[no]incompatible_no_implicit_file_export 預設值:「false」
如果設定這個項目,(已使用) 的來源檔案就會是私人套件,除非明確匯出。請參閱 https://github.com/bazelbuild/proposals/blob/master/designs/2019-10-24-file-visibility.md
標記: build_file_semanticsincompatible_change
--[no]incompatible_no_rule_outputs_param 預設值:「false」
如果設為 true,則會停用 `rule()` Starlark 函式的「outputs」參數。
標記: build_file_semanticsincompatible_change
--[no]incompatible_objc_provider_remove_linking_info 預設值:「false」
如果設為 true,系統將移除 ObjcProvider 的連結資訊 API。
標記: build_file_semanticsincompatible_change
--[no]incompatible_package_group_has_public_syntax 預設值:「true」
在 package_group 的「packages」屬性中,允許寫入「public」或「私人」參照所有套件,或不要分別參照套件。
標記: build_file_semanticsincompatible_change
--[no]incompatible_require_linker_input_cc_api 預設值:「true」
如果設為 true,規則 create_linking_context 將需要 linker_inputs,而非 libraries_to_link。也會停用 link_context 的舊的 getter,而只能使用 linker_inputs。
標記: build_file_semanticsloading_and_analysisincompatible_change
--[no]incompatible_run_shell_command_string 預設值:「true」
如果設為 true,action.run_shell 的指令參數只接受字串
標記: build_file_semanticsincompatible_change
--[no]incompatible_stop_exporting_language_modules 預設值:「false」
啟用後,特定語言專屬模組 (例如「cc_common」) 就無法用於使用者的 .bzl 檔案,而且只能透過各自的規則存放區呼叫。
標記: loading_and_analysisincompatible_change
--[no]incompatible_struct_has_no_methods 預設值:「false」
停用 struct 的 to_json 和 to_proto 方法,這會汙染 struct 欄位命名空間。針對 JSON,請改用 json.encode 或 json.encode_indent,如果是 textproto。
標記: build_file_semanticsincompatible_change
--[no]incompatible_top_level_aspects_require_providers 預設值:「false」
如果設為 true,頂層面向會遵循必要的供應商,且只會針對規則:廣告供應商可滿足這項需求
標記: loading_and_analysisincompatible_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_analysisincompatible_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_analysisincompatible_change
--[no]incompatible_use_plus_in_repo_names 預設值:「false」
設為 true 時,標準存放區名稱會使用加號 (+) 做為分隔符,而不是波浪號 (~)。這種做法可解決 Windows 的嚴重效能問題。詳情請參閱 https://github.com/bazelbuild/bazel/issues/22865。
標記: loading_and_analysis
--[no]incompatible_visibility_private_attributes_at_definition 預設值:「true」
如果設為 true,系統會根據規則定義檢查私人規則屬性的瀏覽權限,如未顯示,則會改回規則使用情形。
標記: build_file_semanticsincompatible_change
--max_computation_steps=<a long integer> 預設值:「0」
可由 BUILD 檔案執行的 Starlark 運算步驟數量上限 (零表示無限制)。
標記: build_file_semantics
--nested_set_depth_limit=<an integer> 預設:「3500」
圖表內部的最大深度 (也稱為 NestedSet),depset() 建構函式會失敗。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--[no]heuristically_drop_nodes 預設值:「false」
如果為 true,Blaze 會在處理相關 File 和 DirectoryListing 節點後移除 FileState 和 DirectoryListingState 節點,以節省記憶體。我們預計不太可能再次需要這些節點。如果是的話,該計畫會重新評估。
標記: loses_incremental_state
--[no]incompatible_do_not_split_linking_cmdline 預設值:「true」
設為 true 時,Bazel 不會再修改用於連結的指令列標記,也不會選擇性地決定要前往參數檔案哪些標記。詳情請參閱 https://github.com/bazelbuild/bazel/issues/7670。
標記: loading_and_analysisincompatible_change
--[no]keep_state_after_build 預設值:「true」
如果是 false,Blaze 會在建構完成時捨棄此建構作業中的記憶體內狀態。後續版本的建構作業不會對此產生任何成效增幅。
標記: loses_incremental_state
--[no]track_incremental_state 預設值:「true」
如果為 false,Blaze 不會保存允許在漸進式版本中撤銷和重新評估的資料,以便節省此版本的記憶體。後續版本的建構作業不會對此產生任何成效增幅。通常在將此值設為 false 時,您會希望指定 --batch。
標記: loses_incremental_state
影響記錄詳細程度、格式或位置的選項:
--[no]announce_rc 預設值:「false」
是否朗讀弧形選項。
標記: 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 檢查先前是否收到 InvocationTryStarted 和 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.> 預設:「10 分鐘」
指定 bazel 在 OOM 作業完成時,應等待 BES/BEP 上傳作業完成多久。這個標記可確保 JVM 在嚴重 GC 輾轉時終止,且無法在任何使用者執行緒上進度。
標記: bazel_monitoring
--bes_outerr_buffer_size=<an integer> 預設:「10240」
指定 stdout 或 stderr 在回報為進度事件之前,要在 BEP 中緩衝的大小上限。即使超過指定的值大於 --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_system_keywords=<comma-separated list of options> 次多次使用
指定要直接加入的通知關鍵字清單 (不含「user_keyword="」)前置字元。適用於設定 --bes_lifecycle_events=false,且在呼叫 PublishLifecycleEvent 時加入關鍵字的服務運算子。使用此旗標的建構服務運算子應防止使用者覆寫標記值。
標記: affects_outputs
--bes_timeout=<An immutable length of time.> 預設值:「0 秒」
指定 bazel 在完成建構和測試後,應等待 BES/BEP 上傳作業完成多久。有效的逾時值是依序加上單位的自然數字:天 (d)、小時 (h)、分鐘 (m)、秒 (s) 和毫秒 (ms)。預設值為「0」。也就是不會發生逾時
標記: affects_outputs
--bes_upload_mode=<wait_for_upload_complete, nowait_for_upload_complete or fully_async> 預設值:「wait_for_upload_complete」
指定建構事件服務上傳作業是否應封鎖建構完成,或是應立即結束叫用並在背景中完成上傳。「wait_for_upload_complete」(預設值)、「nowait_for_upload_complete」或「full_async」。
標記: eagerness_to_exit
--build_event_binary_file=<a string> 預設值:「」
如果非空白,請將建構事件通訊協定的 varint 分隔二進位表示法寫入該檔案。這個選項代表 --bes_upload_mode=wait_for_upload_complete。
標記: affects_outputs
--[no]build_event_binary_file_path_conversion 預設值:「true」
盡可能將建構事件通訊協定二進位檔案內的路徑轉換為更全球通用的 URI;如果停用,系統一律會使用 file:// uri scheme
標記: affects_outputs
圖示
--build_event_binary_file_upload_mode=<wait_for_upload_complete, nowait_for_upload_complete or fully_async> 預設值:「wait_for_upload_complete」
指定 --build_event_binary_file 的建構事件服務上傳作業是否應封鎖建構完成,或是應立即結束叫用並在背景完成上傳。「wait_for_upload_complete」(預設值)、「nowait_for_upload_complete」或「full_async」。
標記: eagerness_to_exit
--build_event_json_file=<a string> 預設值:「」
如果非空白,請將建構事件通訊協定的 JSON 序列化檔寫入該檔案。這個選項代表 --bes_upload_mode=wait_for_upload_complete。
標記: affects_outputs
--[no]build_event_json_file_path_conversion 預設值:「true」
盡可能將建構事件通訊協定的 json 檔案路徑,轉換為更全球通用的 URI;如果停用,系統一律會使用 file:// uri scheme
標記: affects_outputs
圖示
--build_event_json_file_upload_mode=<wait_for_upload_complete, nowait_for_upload_complete or fully_async> 預設值:「wait_for_upload_complete」
指定 --build_event_json_file 的建構事件服務上傳作業是否應封鎖建構完成,或是應立即結束叫用並在背景完成上傳。「wait_for_upload_complete」(預設值)、「nowait_for_upload_complete」或「full_async」。
標記: eagerness_to_exit
--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 scheme
標記: affects_outputs
圖示
--build_event_text_file_upload_mode=<wait_for_upload_complete, nowait_for_upload_complete or fully_async> 預設值:「wait_for_upload_complete」
指定 --build_event_text_file 的建構事件服務上傳作業是否應封鎖建構完成,或是應立即結束叫用並在背景完成上傳。「wait_for_upload_complete」(預設值)、「nowait_for_upload_complete」或「full_async」。
標記: eagerness_to_exit
--[no]experimental_announce_profile_path 預設值:「false」
啟用後,會將 JSON 設定檔路徑加入記錄。
標記: bazel_monitoring
--[no]experimental_bep_target_summary 預設值:「false」
是否發布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets 預設值:「false」
如果為 true,則在顯示輸出檔案時,請展開 BEP 中的 Files 集。
標記: affects_outputs
如果設為 true,則在顯示輸出檔案時,完整解析 BEP 中的相對檔案集符號連結。需要 --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.> 預設:「1 秒」
初始、指數輪詢重試失敗時,指數輪詢重試的最短延遲時間。(指數:1.6)
標記: bazel_internal_configuration
--experimental_build_event_upload_strategy=<a string> 預設:查看說明
選擇如何上傳建構事件通訊協定中參照的構件。
標記: affects_outputs
--[no]experimental_collect_load_average_in_profiler 預設值:「true」
如果啟用,分析器會收集系統的整體載入平均值。
標記: bazel_monitoring
--[no]experimental_collect_pressure_stall_indicators 預設值:「false」
如果啟用,分析器就會收集 Linux PSI 資料。
標記: bazel_monitoring
--[no]experimental_collect_resource_estimation 預設值:「false」
啟用後,分析器會收集本機動作的 CPU 和記憶體用量預估資料。
標記: bazel_monitoring
--[no]experimental_collect_system_network_usage 預設值:「false」
如果啟用,分析器會收集系統的網路用量。
標記: bazel_monitoring
--[no]experimental_collect_worker_data_in_profiler 預設值:「false」
啟用後,分析器會收集工作站的匯總資源資料。
標記: bazel_monitoring
累積 --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, remote_process_time, remote_queue, remote_setup, fetch, local_process_time, 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, action_cache_counts, local_cpu_usage, system_cpu_usage, cpu_usage_estimation, local_memory_usage, system_memory_usage, memory_usage_estimation, 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, pressure_stall_io, pressure_stall_memory, conflict_check, dynamic_lock, repository_fetch, repository_vendor or unknown> 次多次使用
指定要納入設定檔的其他設定檔工作。
標記: bazel_monitoring
--[no]experimental_profile_include_primary_output 預設值:「false」
這也包含額外的「輸出」屬性,其中包含動作主要輸出的執行路徑。
標記: bazel_monitoring
--[no]experimental_profile_include_target_label 預設值:「false」
將目標標籤納入動作事件JSON 剖析檔資料。
標記: bazel_monitoring
--[no]experimental_run_bep_event_include_residue 預設值:「false」
是否要在執行建構事件中加入指令列殘餘,可能含有殘餘資訊。根據預設,執行指令建構事件不會納入殘留資訊,這些事件可能包含殘留資訊。
標記: affects_outputs
--[no]experimental_stream_log_file_uploads 預設值:「false」
串流記錄檔會直接上傳至遠端儲存空間,而非寫入磁碟。
標記: affects_outputs
--experimental_workspace_rules_log_file=<a path> 預設:查看說明
將特定 Workspace 規則事件記錄到此檔案中,做為分隔的 WorkspaceEvent proto。
--[no]generate_json_trace_profile 預設值:「auto」
如果啟用,Bazel 會剖析建構作業,並將 JSON 格式設定檔寫入輸出基準的檔案。載入 chrome://tracing 即可查看設定檔。根據預設,Bazel 會為所有類似建構的指令和查詢寫入設定檔。
標記: bazel_monitoring
--[no]heap_dump_on_oom 預設值:「false」
是否在擲回 OOM 時手動輸出記憶體快照資料 (包括因達到 --gc_thrashing_limits 而產生的手動 OOM)。轉儲將寫入 <output_base>/<invocation_id>.heapdump.hprof。此選項會有效取代 -XX:+HeapDumpOnOutOfMemoryError,這對於手動 OOM 沒有影響。
標記: bazel_monitoring
--[no]legacy_important_outputs 預設值:「true」
這可用來忽略在 TargetComplete 事件中產生舊版 important_outputs 欄位的行為。Bazel 必須具備 important_outputs 才能與 ResultStore 整合。
標記: affects_outputs
--logging=<0 <= an integer <= 6> 預設:「3」
記錄層級。
標記: affects_outputs
--memory_profile=<a path> 預設:查看說明
設定後,系統會在階段結束時將記憶體用量資料寫入指定檔案,並在建構結束時將堆積穩定的堆積移至主要記錄。
標記: 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 來分析剖析資料。
標記: bazel_monitoring
--[no]record_full_profiler_data 預設值:「false」
根據預設,Bazel 分析器只會記錄多個事件 (例如追蹤檔案) 的快速匯總資料。如果啟用此選項,分析器會記錄每個事件,以產生更精確的剖析資料,但達到 LARGE 效能達到目的。只有在使用 --profile 時,這個選項才會生效。
標記: bazel_monitoring
--remote_print_execution_messages=<failure, success or all> 預設值:「失敗」
選擇列印遠端執行訊息的時間。有效值為 `failure`,用於僅在失敗時顯示;`success` 僅在成功時輸出,`all` 則會一律顯示。
標記: terminal_output
--[no]slim_profile 預設值:「true」
如果設定檔過大,可以合併事件來縮減 JSON 設定檔的大小。
標記: bazel_monitoring
--starlark_cpu_profile=<a string> 預設值:「」
寫入指定檔案,做為所有 Starlark 執行緒 CPU 使用率的 Pprof 設定檔。
標記: bazel_monitoring
--tool_tag=<a string> 預設值:「」
將此 Bazel 叫用歸因於工具名稱。
標記: affects_outputsbazel_monitoring
累積 --ui_event_filters=<Convert list of comma separated event kind to list of filters> 次多次使用
指定要在 UI 中顯示的事件。您可以使用開頭的 +/- 為預設事件新增或移除事件,或是使用直接指派功能完全覆寫預設事件組合。系統支援的事件類型包括 INFO、DEBUG、ERROR 等。
標記: terminal_output
遠端快取和執行選項:
--experimental_circuit_breaker_strategy=<failure> 預設:查看說明
指定斷路器要使用的策略。可用的策略為「失敗」。如果選項的值無效,則行為不會設為選項。
標記: execution
--[no]experimental_guard_against_concurrent_changes 預設值:「false」
關閉此功能,即可停用在將動作上傳至遠端快取之前,先檢查動作的輸入檔案 ctime。在某些情況下,Linux kernel 可能會延遲檔案寫入作業,可能導致誤判。
--[no]experimental_remote_cache_async 預設值:「false」
如果設為 true,遠端快取 I/O 將在背景執行,而不是在產生作業時進行。
--experimental_remote_cache_compression_threshold=<an integer> 預設值:「0」
使用 zstd 壓縮/解壓縮所需的 blob 大小下限。除非已設定 --remote_cache_compression,否則效果仍然有效。
--[no]experimental_remote_cache_lease_extension 預設值:「false」
如果設為 true,Bazel 會定期將「Find MissingBlobs」呼叫傳送至遠端快取,在建構期間延長遠端動作的輸出租約。頻率是以「--experimental_remote_cache_ttl」的值計算。
,瞭解如何調查及移除這項存取權。
--experimental_remote_cache_ttl=<An immutable length of time.> 預設:「3 小時」
系統近期會參照遠端快取中 blob 的最短存留時間 (TTL),如下所示:透過 ActionResult 或 Find MissingBlobs 建立廣告請求Bazel 會根據 blob 的存留時間,例如未在漸進式建構作業中重複呼叫 GetActionResult。設定值應略低於實際存留時間,因為伺服器傳回摘要與 Bazel 收到摘要之間會有間隔。
標記: 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> 預設:查看說明
要當做遠端下載 Proxy 的 Remote Asset API 端點 URI。支援的結構定義為 grpc、grpcs (gRPC,已啟用 TLS) 和 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」
是否針對遠端執行呼叫使用保持運作。
--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。
--experimental_remote_output_service=<a string> 預設:查看說明
遠端輸出服務端點的 HOST 或 HOST:PORT。支援的結構定義為 grpc、grpcs (gRPC,已啟用 TLS) 和 Unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設使用 grpcs。如要停用 TLS,請指定 grpc:// 或 Unix:結構定義。
--experimental_remote_output_service_output_path_prefix=<a string> 預設值:「」
將 --experimental_remote_output_service 管理的輸出目錄放在哪個路徑。建構作業使用的實際輸出目錄會是這個路徑的子系,並由輸出服務決定。
--[no]experimental_remote_require_cached 預設值:「false」
如果設為 true,系統會強制快取所有可遠端執行的動作,否則建構作業會失敗。這有助於排解非確定性問題,因為這項功能可以檢查是否應快取的動作,確認系統是否確實快取了應快取的動作,而不會誤將新結果插入快取。
--experimental_remote_scrubbing_config=<Converts to a Scrubber> 預設:查看說明
透過提供的設定檔 (必須是文字格式的通訊協定緩衝區) 啟用遠端快取金鑰清除功能 (請參閱 src/main/protobuf/remote_scrubbing.proto)。 這項功能的目的是在針對相同平台執行、但指定相同平台的動作之間,協助共用遠端/磁碟快取。請謹慎使用此設定,因為不當設定可能會導致意外共用快取項目,進而導致建構錯誤。 拖曳不會影響動作的執行方式,只會影響其遠端/磁碟快取金鑰的計算方式,以擷取或儲存動作結果。拖曳的動作與遠端執行不相容,因此將一律改為在本機執行。 修改清除設定並不會使本機檔案系統或內部快取中的輸出內容失效。必須建構乾淨的建構作業,才能重新執行受影響的動作。 為成功使用這項功能,建議您搭配使用自訂 --host_platform 和 --experimental_platform_in_output_dir (將輸出前置字串正規化) 和 --incompatible_strict_action_env (將環境變數正規化)。
--[no]incompatible_remote_build_event_upload_respect_no_cache 預設值:「false」
已淘汰。免人工管理。請改用 --remote_build_event_upload=minimal。
--[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」
免人工管理
標記: incompatible_change
圖示
--[no]remote_accept_cached 預設值:「true」
是否接受遠端快取動作結果。
--remote_build_event_upload=<all or minimal> 預設值:「minimal」
如果設為「all」,BEP 參照的所有本機輸出內容都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出資料不會上傳至遠端快取,但 BEP 消費者重視的檔案 (例如測試記錄和時間設定檔) 除外。即使遠端快取中沒有檔案 URI,檔案 URI 一律會使用 bytestream:// scheme。 預設值為「minimal」。
--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。如要停用 TLS,請指定 grpc://、http:// 或 Unix:結構定義。請參閱 https://bazel.build/remote/caching
,瞭解如何調查及移除這項存取權。
--[no]remote_cache_compression 預設值:「false」
啟用後,在大小至少為 --experimental_remote_cache_compression_threshold 時,使用 zstd 壓縮/解壓縮快取 blob。
累積 --remote_cache_header=<a 'name=value' assignment> 次多次使用
指定要包含在快取要求中的標頭:--remote_cache_header=Name=Value。只要多次指定旗標,即可傳遞多個標頭。同一個名稱的多個值會轉換成以半形逗號分隔的清單。
累積 --remote_default_exec_properties=<a 'name=value' assignment> 次多次使用
設定要做為遠端執行平台的預設 exec 屬性 (如果執行平台尚未設定 exec_properties)。
標記: affects_outputs
--remote_default_platform_properties=<a string> 預設值:「」
設定遠端執行 API 的預設平台屬性 (如果執行平台尚未設定 remote_execution_properties)。如果選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
累積 --remote_download_regex=<a valid Java regular expression> 次多次使用
強制下載路徑符合這個模式的遠端建構作業輸出 (無論 --remote_download_outputs)。重複使用這個標記即可指定多個模式。
標記: affects_outputs
累積 --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> 預設:查看說明
遠端執行端點的 HOST 或 HOST:PORT。支援的結構定義為 grpc、grpcs (gRPC,已啟用 TLS) 和 Unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設使用 grpcs。如要停用 TLS,請指定 grpc:// 或 Unix:結構定義。
--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 會計算所有遠端下載的雜湊總和,如果遠端快取的值與預期值不符,就會捨棄該值。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --build_metadata=<a 'name=value' assignment> 次多次使用
要在建構事件中提供的自訂鍵/值字串組合。
標記: terminal_output
--color=<yes, no or auto> 預設值:「auto」
請使用終端機控制項將輸出內容上色。
累積 --config=<a string> 次多次使用
從 rc 檔案選取其他設定區段;也會提取 <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.> 次多次使用
設定符合<a href="https://github.com/EngFlow/credential-helper-spec">憑證輔助程式規格</a>的憑證輔助程式,用於擷取存放區擷取、遠端快取和執行作業的授權憑證,以及建構事件服務。 輔助程式提供的憑證優先於 `--google_default_credentials`、`--google_credentials`、`.netrc` 檔案,或 `repository_ctx.download()` 和 `repository_ctx.download_and_extract()` 中提供的憑證。 可以多次指定來設定多個輔助程式。 如需操作說明,請前往 https://blog.engflow.com/2023/10/09/configuring-bazels-credential-helper/。
--credential_helper_cache_duration=<An immutable length of time.> 預設值:「30 分鐘」
如果輔助程式未在憑證到期時提供憑證,則系統會快取憑證輔助程式提供之憑證的預設持續時間。
--credential_helper_timeout=<An immutable length of time.> 預設:「10 秒」
設定憑證輔助程式的逾時設定。 憑證輔助程式沒有在這個逾時時間內回應時,叫用就會失敗。
--curses=<yes, no or auto> 預設值:「auto」
使用終端機遊標控制項將捲動輸出最小化。
--disk_cache=<a path> 預設:查看說明
指向 Bazel 可讀取及寫入動作和動作輸出的目錄路徑。如果目錄不存在,系統將建立該目錄。
--[no]enable_platform_specific_config 預設值:「false」
如果設為 true,Bazel 會從 bazelrc 檔案挑選主機 OS 專屬的設定行。舉例來說,如果主機 OS 是 Linux,而您執行 bazel 建構,Bazel 會擷取開頭為 build:linux 的行。支援的 OS ID 為 linux、macos、window、freebsd 和 openbsd。啟用此旗標等同於在 Linux 上使用 --config=linux,或是在 Windows 上使用 --config=windows 等方式。
,瞭解如何調查及移除這項存取權。
--[no]experimental_rule_extension_api 預設值:「false」
啟用實驗性規則擴充 API 和子規則 API
標記: loading_and_analysisexperimental
--[no]experimental_windows_watchfs 預設值:「false」
如果為 true,系統會啟用 --watchfs 的實驗性 Windows 支援。否則 --watchfsis 是 Windows 上的非人工管理。請務必一併啟用 --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 連線的保持運作逾時。如果啟用了 --grpc_keepalive_time 的保持運作連線偵測 (ping),當 Bazel 在這段時間過後仍未收到連線偵測 (ping) 回覆,就會逾時。時間會視為第二項精細程度。如果設定的值小於一秒,就會發生錯誤。如果停用保持運作連線偵測 (ping),系統會忽略這項設定。
--[no]incompatible_disable_non_executable_java_binary 預設值:「false」
如果為 true,java_binary 一律為可執行檔。移除 create_executable 屬性。
標記: loading_and_analysisincompatible_change
免人工管理。
標記: loading_and_analysisincompatible_change
--[no]progress_in_terminal_title 預設值:「false」
在終端機標題中顯示指令進度。有助於瞭解 Terraform 在擁有多個終端機分頁時的運作情形。
--[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
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
與 Bzlmod 輸出和語意相關的選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--dump=<text or raw> [-d] 預設:查看說明
以使用者可理解的「文字」格式輸出完整的設定檔資料轉儲格式或適合指令碼的「原始」格式。
標記: affects_outputs
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --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
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
與查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise> 預設值:「conservative」
當輸出格式為 {xml,proto,record} 時,如何解析切面依附元件。「關閉」表示未解析任何切面依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,系統會新增所有宣告的切面依附元件這表示只有根據直接依附元件的規則類別,只會新增可能為有效的切面。請注意,如要使用精確模式,必須載入其他套件來評估單一目標,因此速度會低於其他模式。另外也請注意,即使採用的是精確模式,也無法完全精確:決定是否要在分析階段決定計算切面,而這在「bazel 查詢」期間不會執行。
標記: build_file_semantics
--[no]consistent_labels 預設值:「false」
如果啟用,每個查詢指令都會發出標籤,就像使用 Starlark <code>str</code> 一樣函數套用到<code>標籤</code>執行個體。如果工具需要比對不同查詢指令的輸出內容和/或規則發出的標籤,這個功能就相當實用。如未啟用,輸出格式設定器可自由發出明顯的存放區名稱 (相對於主要存放區),讓輸出內容更易讀。
標記: terminal_output
--[no]experimental_explicit_aspects 預設值:「false」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: 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」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: terminal_output
--[no]include_commandline 預設值:「true」
在輸出中包含動作指令列的內容 (可能很大)。
標記: terminal_output
--[no]include_file_write_contents 預設值:「false」
加入 FileWrite、SourceSymlinkManifest 和 RepoMappingManifest 動作的檔案內容 (可能很大)。
標記: terminal_output
--[no]include_param_files 預設值:「false」
加入指令中所用參數檔案的內容 (可能很大)。注意:啟用這個標記後,系統會自動啟用 --include_commandline 標記。
標記: terminal_output
--[no]incompatible_package_group_includes_double_slash 預設值:「true」
啟用後,在輸出 package_group 的 `packages` 屬性時,就不會省略開頭的 `//`。
標記: terminal_outputincompatible_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、streamed_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_attribute_source_aspects 預設值:「false」
以屬性的來源切面填入每個屬性的 source_aspect_name proto 欄位 (如果不是,則為空白字串)。
標記: terminal_output
--[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」
是否在「rule_input」和「rule_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」的依附元件邊緣會指向通訊協定編譯器,通常指向在建構期間執行的工具,而不是同一個「目標」的一部分計畫。 Cquery:如果停用這項設定,系統會篩除所有已設定的目標,且這些目標會跨越頂層目標,從偵測到這個設定的目標開始轉移。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於 exec 設定中,系統只會傳回 exec 所設定的目標,這個選項「不會」排除已解析的工具鍊。
標記: 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」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --override_repository=<an equals-separated mapping of repository name to path> 次多次使用
以 <repository name>=<path> 的形式覆寫具有本機路徑的存放區。如果指定路徑是絕對路徑,系統會依原樣使用。如果指定路徑是相對路徑,表示該路徑與目前工作目錄相對。如果指定路徑的開頭為「%workspace%」,表示該路徑與工作區根目錄相關,也就是「bazel info workspace」的輸出內容。如果指定路徑為空白,請移除所有先前的覆寫值。
,瞭解如何調查及移除這項存取權。
控制建構執行作業的選項:
是否直接呼叫檔案系統來建立符號連結樹狀結構
標記: loading_and_analysisexecutionexperimental
--[no]experimental_persistent_aar_extractor 預設值:「false」
使用工作站啟用永久 AAR 擷取器。
標記: execution
--[no]experimental_remotable_source_manifests 預設值:「false」
是否讓來源資訊清單動作可回到相同狀態
標記: loading_and_analysisexecutionexperimental
--[no]experimental_split_coverage_postprocessing 預設值:「false」
如果設為 true,Bazel 就會在新新版本中執行涵蓋率後續處理以進行測試。
標記: execution
--[no]experimental_strict_fileset_output 預設值:「false」
啟用這個選項後,檔案集會將所有輸出成果視為一般檔案。不會週遊目錄,或對符號連結敏感。
標記: execution
--[no]incompatible_disallow_unsound_directory_outputs 預設值:「true」
設定後,如果將輸出檔案具體化為目錄,就會發生錯誤。不會影響來源目錄。詳情請參閱 https://github.com/bazelbuild/bazel/issues/18646。
標記: bazel_internal_configurationincompatible_change
--[no]incompatible_modify_execution_info_additive 預設值:「false」
啟用時,傳遞多個 --modify_execution_info 標記屬於累加性質。如果停用這項設定,系統只會將最後一個標記納入考量。
標記: executionaffects_outputsloading_and_analysisincompatible_change
累積 --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」新增「requires-x」查看所有 Genrule 動作的執行資訊 「(?!Genrule).*=-requires-x'移除「requires-x」查看所有非 Genrule 操作的執行資訊
標記: executionaffects_outputsloading_and_analysis
--persistent_android_dex_desugar
使用工作站啟用永久的 Android dex 和脫糖動作。
展開至:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker

--strategy=DexBuilder=worker
標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=AARGenerator=worker
--strategy=ProcessDatabinding=worker
--strategy=GenerateDataBindingBaseClasses=worker
敬上
標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_dex_desugar
使用工作站啟用永久的多重 Android DEX 和脫糖動作。
展開至:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar

標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=+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=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers

標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_tools
啟用永久和多工 Android 工具 (DEX、脫糖、資源處理)。
展開至:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor

--persistent_multiplex_android_dex_desugar
標記: host_machine_resource_optimizationsexecution
--[no]use_target_platform_for_tests 預設值:「false」
如果設為 true,Bazel 會使用目標平台執行測試,而不是測試執行群組。
標記: execution
設定用於執行動作的工具鍊選項:
--android_compiler=<a string> 預設:查看說明
Android 目標編譯器。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 預設值:「//external:android/crosstool」
用於 Android 版本的 C++ 編譯器位置。
標記: affects_outputschanges_inputsloading_and_analysisloses_incremental_state
--android_grte_top=<a label> 預設:查看說明
Android 目標 grte_top。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_manifest_merger=<legacy, android or force_android> 預設:「android」
選取要用於 android_binary 規則的資訊清單合併工具。這個旗標可協助您從舊版合併工具轉換至 Android 資訊清單合併工具。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_platforms=<a build target label> 預設值:「」
設定 android_binary 目標使用的平台。如果指定多個平台,則二進位檔會是笨重的 APK,其中含有每個指定目標平台的原生二進位檔。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_sdk=<a build target label> 預設:"@bazel_tools//tools/android:sdk"
指定 Android SDK/平台,用來建構 Android 應用程式。
標記: changes_inputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
要用於 Apple 和 Objc 規則及其依附元件的 Crosstool 套件標籤。
標記: loses_incremental_statechanges_inputs
--cc_output_directory_tag=<a string> 預設值:「」
指定要新增至設定目錄的後置字串。
標記: affects_outputs
--compiler=<a string> 預設:查看說明
用於編譯目標的 C++ 編譯器。
標記: loading_and_analysisexecution
--coverage_output_generator=<a build target label> 預設值:「@bazel_tools//tools/test:lcov_merger」
用於後置原始涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:lcov_merger」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_report_generator=<a build target label> 預設:"@bazel_tools//tools/test:coverage_report_generator"
用於產生涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:coverage_report_generator」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_support=<a build target label> 預設值:「@bazel_tools//tools/test:coverage_support」
針對每個會收集程式碼涵蓋率的測試動作,輸入所需的支援檔案位置。預設為 '//tools/test:coverage_support'。
標記: changes_inputsaffects_outputsloading_and_analysis
--crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記: loading_and_analysischanges_inputsaffects_outputs
--custom_malloc=<a build target label> 預設:查看說明
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記: changes_inputsaffects_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_include_xcode_execution_requirements 預設值:「false」
如果已設定,請新增「requires-xcode:{version}」每個 Xcode 動作都必須執行。如果 Xcode 版本有連字號標籤,請同時加上「requires-xcode-label:{version_label}」執行需求
標記: loses_incremental_stateloading_and_analysisexecution
--[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> 次多次使用
工具鍊解析時要考量的工具鍊規則。工具鍊可以由精確目標或目標模式指定。系統會先考量這些工具鍊,然後才會在 WORKSPACE 檔案內透過 Register_toolchains() 宣告這些工具鍊。
標記: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 預設:查看說明
已簽到 libc 程式庫的標籤。預設值是由跨工具工具鍊選取,您幾乎不需要覆寫該值。
標記: action_command_linesaffects_outputs
--host_compiler=<a string> 預設:查看說明
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,系統就會忽略這項設定。
標記: loading_and_analysisexecution
--host_crosstool_top=<a build target label> 預設:查看說明
根據預設,--crosstool_top 和 --compiler 選項也能用於 exec 設定。如果您提供這個標記,Bazel 會為指定的 Crosstool_top 使用預設的 libc 和編譯器。
標記: loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 預設:查看說明
指定時,此設定會覆寫 exec 設定的 libc 頂層目錄 (--grte_top)。
標記: action_command_linesaffects_outputs
--host_platform=<a build target label> 預設值:"@bazel_tools//tools:host_platform"
說明主機系統的平台規則標籤。
標記: affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 預設值:「true」
如果設為 true,Bazel 不會啟用「主機」和「nonhost」c++ 工具鍊中的特徵 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7407)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_enable_android_toolchain_resolution 預設值:「true」
使用工具鍊解析度選取 Android SDK for Android 規則 (Starlark 和 native)
標記: loading_and_analysisincompatible_change
--[no]incompatible_enable_apple_toolchain_resolution 預設值:「false」
使用 Toolchain 解析度選取 Apple SDK for apple 規則 (Starlark 和 native)
標記: loading_and_analysisincompatible_change
--[no]incompatible_make_thinlto_command_lines_standalone 預設值:「true」
如果設為 true,Bazel 就不會在 lto 索引指令列中重複使用 C++ 連結動作指令列 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/6791)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_remove_legacy_whole_archive 預設值:「true」
如果設為 true,Bazel 預設不會連結程式庫依附元件完整的封存檔 (如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7362)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_require_ctx_in_configure_features 預設值:「true」
如果設為 true,Bazel 會要求「ctx」參數加到 cc_common.configure_features (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7793)。
標記: loading_and_analysisincompatible_change
--[no]interface_shared_objects 預設值:「true」
如果工具鍊支援介面共用物件,請使用介面共用物件。所有 ELF 工具鍊目前都支援這項設定。
標記: loading_and_analysisaffects_outputsaffects_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_analysisaffects_outputs
--platform_mappings=<a relative path> 預設值:「」
對應檔案所在位置,用於說明在未設定平台時要使用的平台,或是平台已存在時要設定的標記。必須與主要工作區根目錄相關。預設值為「platform_mappings」(在工作區根目錄下直接提供一個檔案)。
標記: affects_outputschanges_inputsloading_and_analysis
--platforms=<a build target label> 預設值:「」
平台規則的標籤,說明目前指令的目標平台。
標記: affects_outputschanges_inputsloading_and_analysis
--python2_path=<a string> 預設:查看說明
已淘汰,免人工管理。已由 `--incompatible_use_python_toolchains` 停用。
標記: no_opdeprecated
--python3_path=<a string> 預設:查看說明
已淘汰,免人工管理。已由 `--incompatible_use_python_toolchains` 停用。
標記: no_opdeprecated
--python_path=<a string> 預設:查看說明
叫用 Python 解譯器的絕對路徑,以便在目標平台上執行 Python 目標。已淘汰;已由 --incompatible_use_python_toolchains 停用。
標記: loading_and_analysisaffects_outputs
--python_top=<a build target label> 預設:查看說明
這個 py_runtime 標籤,代表為了在目標平台上執行 Python 目標而叫用的 Python 解譯器。已淘汰;已由 --incompatible_use_python_toolchains 停用。
標記: loading_and_analysisaffects_outputs
--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 SDK 的版本,用於建構 watchOS 應用程式。如未指定,則會使用「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_config 規則的標籤,用於在建構設定中選取 Xcode 版本。
標記: loses_incremental_stateloading_and_analysis
控制指令輸出的選項:
--[no]apple_generate_dsym 預設值:「false」
是否產生偵錯符號 (.dSYM) 檔案。
標記: affects_outputsaction_command_lines
如果為 true,系統會針對所有目標建構執行檔案符號樹系。如果是 false,請只在需要本機動作、測試或執行指令時寫入。
標記: affects_outputs
--[no]build_runfile_manifests 預設值:「true」
如果為 true,則為所有目標寫入執行檔案資訊清單。如果是 false,請省略。如果為 false,本機測試將無法執行。
標記: affects_outputs
--[no]build_test_dwp 預設值:「false」
啟用後,當您以靜態方式建構 C++ 測試以及透過 FIFT 檢查時,系統也會自動建構測試二進位檔的 .dwp 檔案。
標記: loading_and_analysisaffects_outputs
--cc_proto_library_header_suffixes=<comma-separated set of options> 預設值:「.pb.h」
設定 cc_proto_library 建立的標頭檔案後置字串。
標記: affects_outputsloading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated set of options> 預設值:「.pb.cc」
設定 cc_proto_library 所建立來源檔案的後置字串。
標記: affects_outputsloading_and_analysis
--[no]experimental_proto_descriptor_sets_include_source_info 預設值:「false」
針對 proto_library 中的替代 Java API 版本執行額外動作。
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_proto_extra_actions 預設值:「false」
針對 proto_library 中的替代 Java API 版本執行額外動作。
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_save_feature_state 預設值:「false」
將已啟用和要求的功能狀態儲存為編譯的輸出內容。
標記: affects_outputsexperimental
--fission=<a set of compilation modes> 預設值:「否」
指定哪些編譯模式適用於 C++ 編譯和連結。可以是 {'fastbuild'、'dbg'、'opt'} 的任意組合,或是特殊值「yes」即可啟用所有模式,而 [否]即可停用所有模式
標記: loading_and_analysisaction_command_linesaffects_outputs
--[no]incompatible_always_include_files_in_data 預設值:「true」
如果為 true,原生規則會新增 <code>DefaultInfo.files</code>。資料依附關係,進而符合 Starlark 規則的建議行為 (https://bazel.build/extending/rules#runfiles_features_to_avoid)。
標記: affects_outputsincompatible_change
--[no]legacy_external_runfiles 預設值:「true」
設為 true 時,除了 .runfiles/repo 之外,系統會為 .runfiles/wsname/external/repo 下的外部存放區建構執行檔案符號樹系。
標記: 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_outputsloading_and_analysisloses_incremental_state
--[no]android_databinding_use_androidx 預設值:「true」
產生與 AndroidX 相容的資料繫結檔案。僅供資料繫結 v2 使用。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]android_databinding_use_v3_4_args 預設值:「true」
使用 android databinding v2 搭配 3.4.0 引數。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--android_dynamic_mode=<off, default or fully> 預設值:「停用」
決定當 cc_binary 未明確建立共用程式庫時,是否要以動態方式連結 Android 規則的 C++ 依附元件。「預設」代表 bazel 會選擇是否要動態連結。「完全」代表系統會動態連結所有程式庫「關閉」表示所有程式庫都會以靜態模式建立連結。
標記: affects_outputsloading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency> 預設值:「字母順序」
設定傳遞至 Android 二進位檔資訊清單合併工具的資訊清單順序。ALPHABETICAL 表示資訊清單會依照執行階段的相對路徑排序。ALPHABETICAL_BY_CONFIGURATION 表示資訊清單會根據輸出目錄中的設定目錄相關路徑排序。DEPENDENCY 代表資訊清單的順序,會依照每個程式庫的資訊清單依序出現在其依附元件的資訊清單之前。
標記: action_command_linesexecution
--[no]android_resource_shrinking 預設值:「false」
針對使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記: affects_outputsloading_and_analysis
--[no]build_python_zip 預設值:「auto」
建構 Python 可執行檔 ZIP 檔案;其他平台上的玩家
標記: affects_outputs
圖示
累積 --catalyst_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple Catalyst 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_and_analysis
--[no]collect_code_coverage 預設值:「false」
如有指定,Bazel 會檢測程式碼 (盡可能使用離線檢測功能),並在測試期間收集涵蓋率資訊。只有符合 --instrumentation_filter 的目標會受到影響。通常這個選項不應直接指定 -「Bazel 涵蓋範圍」指令。
標記: affects_outputs
--compilation_mode=<fastbuild, dbg or opt> [-c] 預設值:「Fastbuild」
指定二進位檔的建構模式。值:「fastbuild」、「dbg」、「opt」。
標記: affects_outputsaction_command_lines
累積 --conlyopt=<a string> 次多次使用
編譯 C 來源檔案時傳遞至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
累積 --copt=<a string> 次多次使用
傳遞至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
--cpu=<a string> 預設值:「」
目標 CPU。
標記: changes_inputsaffects_outputs
--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_linesaffects_outputs
累積 --define=<a 'name=value' assignment> 次多次使用
每個 --define 選項都會指定建構變數的指派作業。
標記: changes_inputsaffects_outputs
--dynamic_mode=<off, default or fully> 預設值:「預設」
決定是否動態連結 C++ 二進位檔。「預設」Bazel 就會選擇是否要動態連結「完全」代表系統會動態連結所有程式庫「關閉」表示所有程式庫都會以靜態模式建立連結。
標記: loading_and_analysisaffects_outputs
--[no]enable_fdo_profile_absolute_path 預設值:「true」
如果設定這個項目,使用 fdo_absolute_profile_path 會引發錯誤。
標記: affects_outputs
--[no]enable_runfiles 預設值:「auto」
啟用執行檔案符號連結樹狀結構。在其他平台上,這項設定預設為關閉。
標記: affects_outputs
累積 --experimental_action_listener=<a build target label> 次多次使用
已淘汰,改用切面。使用 action_listener 將 extra_action 附加至現有的建構動作。
標記: executionexperimental
--[no]experimental_android_compress_java_resources 預設值:「false」
壓縮 APK 中的 Java 資源
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_android_databinding_v2 預設值:「true」
使用 Android Databinding v2。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]experimental_android_resource_shrinking 預設值:「false」
針對使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記: affects_outputsloading_and_analysis
--[no]experimental_android_rewrite_dexes_with_rex 預設值:「false」
使用 Rex 工具重新編寫 dex 檔案
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[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 和 -fasynchronous-unwind-Table 進行編譯。
標記: action_command_linesaffects_outputsexperimental
--experimental_output_paths=<off, content or strip> 預設值:「停用」
哪個模型要用於輸出樹狀結構規則的何處寫入輸出內容 (尤其是多平台 / 多設定版本)。這項實驗功能相當實驗性詳情請參閱 https://github.com/bazelbuild/bazel/issues/6526。Starlark 動作可以新增「supports-path-mapping」鍵,選擇啟用路徑對應「execution_requirements」。
標記: loses_incremental_statebazel_internal_configurationaffects_outputsexecution
累積 --experimental_override_name_platform_in_output_dir=<a 'label=value' assignment> 次多次使用
每個項目都應採用 label=value 的格式,其中標籤參照平台,而值則是輸出路徑中使用的所需簡稱。只有在 --experimental_platform_in_output_dir 為 true 時才能使用。命名優先順序最高。
標記: affects_outputsexperimental
--[no]experimental_platform_in_output_dir 預設值:「false」
如果設為 true,則輸出目錄名稱會使用目標平台的簡稱,而不會使用 CPU。確切的配置尚在實驗階段,且可能會有變動:首先,在極少數的情況下,--platforms 選項沒有隻有一個值,則會使用平台選項的雜湊值。接下來,如果目前平台的簡稱是由 --experimental_override_name_platform_in_output_dir 註冊,系統會使用該簡稱。接著,如果已設定 --experimental_use_platforms_in_output_dir_legacy_heuristic,則使用以目前平台標籤為基礎的簡稱。最後,如果不得已,就必須使用平台選項的雜湊值。
標記: affects_outputsexperimental
--[no]experimental_use_llvm_covmap 預設值:「false」
如有指定,Bazel 會在啟用 collection_code_coverage 的情況下,產生 llvm-cov 涵蓋範圍地圖資訊,而非 gcov。
標記: changes_inputsaffects_outputsloading_and_analysisexperimental
--[no]experimental_use_platforms_in_output_dir_legacy_heuristic 預設值:「true」
請只在建議的遷移或測試策略中使用這個標記。請注意,經驗法則已知有缺陷,建議您遷移並只依賴 --experimental_override_name_platform_in_output_dir。
標記: affects_outputsexperimental
--fat_apk_cpu=<comma-separated set of options> 預設:「armeabi-v7a」
設定這個選項會啟用笨重的 APK,其中包含所有指定目標架構的原生二進位檔,例如--fat_apk_cpu=x86,armeabi-v7a.如果指定此標記,則系統會針對 android_binary 規則的依附元件忽略 --android_cpu。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]fat_apk_hwasan 預設值:「false」
是否建立 HWASAN 分割。
標記: affects_outputsloading_and_analysisloses_incremental_state
--fdo_instrument=<a string> 預設:查看說明
使用 FDO 檢測產生二進位檔。透過 Clang/LLVM 編譯器,也可接受系統在執行階段傾印原始設定檔時使用的目錄名稱。
標記: affects_outputs
--fdo_optimize=<a string> 預設:查看說明
使用 FDO 設定檔資訊將編譯作業最佳化。請指定含有 .gcda 檔案樹狀結構的 ZIP 檔案名稱、含有自動設定檔的 afdo 檔案,或是 LLVM 設定檔。這個旗標也接受指定為標籤的檔案 (例如 `//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_inputsaffects_outputs
--[no]force_pic 預設值:「false」
啟用後,所有 C++ 編譯都會產生與位置無關的程式碼 (「-fPIC」),連結偏好 PIC 預先建構的程式庫,而非非 PIC 程式庫,而連結則會產生位置獨立的執行檔 (「-pie」)。
標記: loading_and_analysisaffects_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_outputsaction_command_lines
累積 --host_conlyopt=<a string> 次多次使用
在 exec 設定中編譯 C (而非 C++) 來源檔案時,傳遞至 C 編譯器的其他選項。
標記: action_command_linesaffects_outputs
累積 --host_copt=<a string> 次多次使用
針對 exec 設定中建立的工具,傳遞給 C 編譯器的其他選項。
標記: action_command_linesaffects_outputs
--host_cpu=<a string> 預設值:「」
主機 CPU。
標記: changes_inputsaffects_outputs
累積 --host_cxxopt=<a string> 次多次使用
針對在 exec 設定中建構的工具,傳遞至 C++ 編譯器的其他選項。
標記: action_command_linesaffects_outputs
累積 --host_features=<a string> 次多次使用
根據預設,系統會為執行設定中的目標啟用或停用指定的功能。指定 -<feature>會停用這項功能排除功能一律會覆寫正數。
標記: changes_inputsaffects_outputs
--host_force_python=<PY2 or PY3> 預設:查看說明
覆寫 exec 設定的 Python 版本。可以是「PY2」或「PY3」
標記: loading_and_analysisaffects_outputs
累積 --host_linkopt=<a string> 次多次使用
在執行設定中連結工具時,傳送給連接器的其他選項。
標記: action_command_linesaffects_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> 次多次使用
透過 exec 設定編譯特定檔案時,選擇性傳遞至 C/C++ 編譯器的其他選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--host_per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0,將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案的 gcc 指令列選項 ( bar.cc 除外)。
標記: action_command_linesaffects_outputs
累積 --host_swiftcopt=<a string> 次多次使用
傳遞至 swiftc 的 exec 工具其他選項。
標記: action_command_linesaffects_outputs
--[no]incompatible_auto_exec_groups 預設值:「false」
啟用後,系統會自動為規則使用的各個工具鍊建立執行群組。如要執行這項動作,必須在其動作中指定「toolchain」參數。詳情請參閱 https://github.com/bazelbuild/bazel/issues/17134。
標記: affects_outputsincompatible_change
--[no]incompatible_merge_genfiles_directory 預設值:「true」
如果為 true,genfiles 目錄會摺疊至 bin 目錄。
標記: affects_outputsincompatible_change
--[no]incompatible_use_host_features 預設值:「true」
設為 true 時,請僅針對目標設定使用 --features,用於 exec 設定則使用 --host_features。
標記: changes_inputsaffects_outputsincompatible_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_stateloading_and_analysis
--[no]legacy_whole_archive 預設值:「true」
已淘汰,並由 --incompatible_remove_legacy_whole_Archive 取代 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7362)。開啟時,對含有 linkshared=True 且 linkstatic=True 或 '-static' 的 cc_binary 規則使用 --whole-Archive當中的連結這種做法僅適用於回溯相容性。更好的做法是在必要時使用 Alwayslink=1。
標記: action_command_linesaffects_outputsdeprecated
累積 --linkopt=<a string> 次多次使用
連結時傳送至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
累積 --ltobackendopt=<a string> 次多次使用
傳送到 LTO 後端步驟的其他選項 (位於 --features=thin_lto 下)。
標記: action_command_linesaffects_outputs
累積 --ltoindexopt=<a string> 次多次使用
傳送至 LTO 索引步驟的其他選項 (位於 --features=thin_lto 下方)。
標記: action_command_linesaffects_outputs
累積 --macos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple macOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_and_analysis
--macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')> 預設:查看說明
目標的相容 macOS 最低版本。如未指定,則會使用「macos_sdk_version」。
標記: loses_incremental_state
--memprof_profile=<a build target label> 預設:查看說明
使用 memprof 設定檔。
標記: affects_outputs
--[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,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案的 gcc 指令列選項 ( bar.cc 除外)。
標記: action_command_linesaffects_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,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--per_file_ltobackendopt=//foo/.*\.o,-//foo/bar\.o@-O0 將 -O0 指令列選項新增至 //foo/ 中所有檔案的 LTO 後端指令列 ( bar.o 除外)。
標記: action_command_linesaffects_outputs
--platform_suffix=<a string> 預設:查看說明
指定要新增至設定目錄的後置字串。
標記: loses_incremental_stateaffects_outputsloading_and_analysis
--propeller_optimize=<a build target label> 預設:查看說明
使用 Propeller 設定檔資訊,將建構目標最佳化。螺旋器設定檔必須包含至少兩個檔案 (一個 cc 設定檔和一個舊設定檔)。此旗標接受建構標籤,該標籤必須參照依附元件設定檔輸入檔案。例如,定義標籤的 BUILD 檔案必須在 a/b/BUILD:propeller_optimize( name = "propeller_profile", cc_profile = "propeller_cc_profile.txt", ld_profile = "propeller_ld_profile.txt",) 中,必須加入「exports_files」指令,才會在對應的套件中加入「exports_files」指令。這個選項必須使用以下形式:--propeller_optimize=//a/b:propeller_profile
標記: action_command_linesaffects_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
--[no]share_native_deps 預設值:「true」
如果設為 true,包含相同功能的原生資料庫會在不同的目標之間共用
標記: loading_and_analysisaffects_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_linesaffects_outputs
累積 --swiftcopt=<a string> 次多次使用
傳遞至 Swift 編譯的其他選項。
標記: action_command_lines
累積 --tvos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple tvOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_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_stateloading_and_analysis
累積 --watchos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple watchOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_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_inputsloading_and_analysisexperimental
--[no]check_licenses 預設值:「false」
檢查依附套件設下的授權限制,沒有與所建構目標的發布模式相衝突。根據預設,系統不會勾選授權。
標記: build_file_semantics
--[no]check_visibility 預設值:「true」
如果停用,系統會將目標依附元件中的瀏覽權限錯誤降級為警告。
標記: build_file_semantics
--[no]desugar_for_android 預設值:「true」
是否要在 dex 之前脫糖 Java 8 位元碼。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]desugar_java8_libs 預設值:「false」
是否要在舊版裝置的應用程式中加入支援的 Java 8 程式庫。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]enforce_constraints 預設值:「true」
檢查每個目標都相容的環境,並在任何目標的依附元件不支援相同環境時回報錯誤
標記: build_file_semantics
圖示
--[no]experimental_check_desugar_deps 預設值:「true」
是否要在 Android 二進位檔層級仔細檢查正確的脫糖程序。
標記: eagerness_to_exitloading_and_analysisexperimental
--experimental_import_deps_checking=<off, warning or error> 預設值:「關閉」
啟用之後,請檢查 aar_import 的依附元件是否已完成。這項強制執行可能會破壞建構作業,或只會導致警告。
標記: loading_and_analysis
--experimental_one_version_enforcement=<off, warning or error> 預設值:「關閉」
啟用後,系統會強制規定 java_binary 規則在類別路徑中不得包含相同類別檔案的多個版本。這項強制執行可能會破壞建構作業,或只會導致警告。
標記: loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default> 預設值:「預設」
如果為 true,則檢查 Java 目標是否明確宣告所有直接使用的目標為依附元件。
標記: build_file_semanticseagerness_to_exit
--[no]incompatible_check_testonly_for_output_files 預設值:「false」
啟用之後,僅會查詢產生規則的測試,僅檢查輸出檔案的先決條件目標是否進行測試。這與檢查瀏覽權限相符。
標記: build_file_semanticsincompatible_change
--[no]incompatible_check_visibility_for_toolchains 預設值:「false」
如果啟用,瀏覽權限檢查功能也會套用至工具鍊實作。
標記: build_file_semanticsincompatible_change
--[no]incompatible_disable_native_android_rules 預設值:「false」
啟用後,系統會停用直接使用原生 Android 規則。請使用 https://github.com/bazelbuild/rules_android 提供的 Starlark Android 規則
標記: eagerness_to_exitincompatible_change
--[no]incompatible_disable_native_apple_binary_rule 預設值:「false」
免人工管理。以維持回溯相容性。
標記: eagerness_to_exitincompatible_change
--[no]incompatible_python_disable_py2 預設值:「true」
如為 true,則使用 Python 2 設定會導致錯誤。包括 python_version=PY2、srcs_version=PY2 和 srcs_version=PY2ONLY。詳情請參閱 https://github.com/bazelbuild/bazel/issues/15684。
標記: loading_and_analysisincompatible_change
--[no]incompatible_validate_top_level_header_inclusions 預設值:「true」
如果為 true,Bazel 也會驗證頂層目錄標頭納入項目 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/10047)。
標記: loading_and_analysisincompatible_change
--[no]one_version_enforcement_on_java_tests 預設值:「true」
啟用時,若將 experiment_one_version_enforcement 設為非 NONE 值,對 java_test 目標強制套用一個版本。您可以停用這個標記,提高漸進式測試成效,但犧牲掉可能違反一個版本的行為。
標記: loading_and_analysis
--python_native_rules_allowlist=<a build target label> 預設:查看說明
強制執行 --incompatible_python_禁止_native_rules 時使用的許可清單 (package_group target)。
標記: loading_and_analysis
--[no]strict_filesets 預設值:「false」
啟用這個選項後,系統會將跨套件邊界的檔案集回報為錯誤。
標記: build_file_semanticseagerness_to_exit
--strict_proto_deps=<off, warn, error, strict or default> 預設值:「error」
除非為關閉,否則檢查 proto_library 目標是否明確宣告所有直接使用的目標為依附元件。
標記: build_file_semanticseagerness_to_exitincompatible_change
--strict_public_imports=<off, warn, error, strict or default> 預設值:「停用」
除非 OFF,否則檢查 proto_library 目標是否明確宣告「import public」中的所有目標匯出。
標記: build_file_semanticseagerness_to_exitincompatible_change
--[no]strict_system_includes 預設值:「false」
如果設為 true,透過系統找到的標頭也必須包含路徑 (-isystem)。
標記: loading_and_analysiseagerness_to_exit
累積 --target_environment=<a build target label> 次多次使用
宣告此建構作業的目標環境。必須是「環境」的標籤參照規則。指定時,所有頂層目標都必須與這個環境相容。
標記: changes_inputs
影響建構的簽署輸出的選項:
--apk_signing_method=<v1, v2, v1_v2 or v4> 預設:「v1_v2」
實作用於簽署 APK
標記: action_command_linesaffects_outputsloading_and_analysis
--[no]device_debug_entitlements 預設值:「true」
如果已設定,且編譯模式不是「最佳化」,objc 應用程式在簽署時就會納入偵錯授權。
標記: changes_inputs
--ios_signing_cert_name=<a string> 預設:查看說明
用於 iOS 簽署的憑證名稱。如未設定,系統會改回佈建設定檔。可以是憑證的鑰匙圈身分偏好設定,或是憑證的通用名稱 (子字串),視編碼符號的手冊所示 (SIGNING IDENTITIES) 而定。
標記: action_command_lines
這個選項會影響 Starlark 語言的語意,或是 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案可存取的 Build API。
--[no]incompatible_disallow_legacy_py_provider 預設值:「true」
免人工管理,很快就會移除。
標記: loading_and_analysisincompatible_change
--[no]incompatible_disallow_sdk_frameworks_attributes 預設值:「false」
如果設為 true,則禁止在 objc_library 和 objc_import 中使用 sdk_frameworks 和 weak_sdk_frameworks 屬性。
標記: build_file_semanticsincompatible_change
如為 true,則將 objc_library 和 objc_import 中的一律連結屬性預設值設為 true。
標記: build_file_semanticsincompatible_change
--[no]incompatible_python_disallow_native_rules 預設值:「false」
若設為 true,使用內建 py_* 規則時會發生錯誤;而是應使用規則_python 規則如需更多資訊和遷移操作說明,請前往 https://github.com/bazelbuild/bazel/issues/17773。
標記: loading_and_analysisincompatible_change
管理測試環境或測試執行工具行為的選項:
--[no]allow_analysis_failures 預設值:「false」
如果設為 true,當分析失敗時,將包含錯誤說明的 AnalysisFailureInfo 例項傳播,而不會導致建構失敗。
標記: loading_and_analysisexperimental
--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_analysisexperimental
累積 --default_test_resources=<a resource name followed by equal and 1 float or 4 float, e.g. memory=10,30,60,100> 次多次使用
覆寫測試的預設資源數量。格式應為 <resource>=<value>。如果將某個正數指定為 <value>該設定會覆寫所有測試大小的預設資源如果指定 4 個以半形逗號分隔的數字,則這些數字會分別覆寫小型、中大型、大型測試大小的資源量。值也可以為 HOST_RAM/HOST_CPU,並可視需要加上 [-|*]<float>(例如 memory=HOST_RAM*.1,HOST_RAM*.2,HOST_RAM*.3,HOST_RAM*.4)。標記中指定的明確資源會覆寫這個標記指定的預設測試資源。
--[no]experimental_android_use_parallel_dex2oat 預設值:「false」
並行使用 dex2oat,可以加快 android_test 的速度。
標記: loading_and_analysishost_machine_resource_optimizationsexperimental
--[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 使用該類別的預設逾時。
--[no]zip_undeclared_test_outputs 預設值:「true」
如為 true,未宣告的測試輸出內容會以 ZIP 檔案封存。
標記: test_runner
與查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise> 預設值:「conservative」
當輸出格式為 {xml,proto,record} 時,如何解析切面依附元件。「關閉」表示未解析任何切面依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,系統會新增所有宣告的切面依附元件這表示只有根據直接依附元件的規則類別,只會新增可能為有效的切面。請注意,如要使用精確模式,必須載入其他套件來評估單一目標,因此速度會低於其他模式。另外也請注意,即使採用的是精確模式,也無法完全精確:決定是否要在分析階段決定計算切面,而這在「bazel 查詢」期間不會執行。
標記: build_file_semantics
--[no]consistent_labels 預設值:「false」
如果啟用,每個查詢指令都會發出標籤,就像使用 Starlark <code>str</code> 一樣函數套用到<code>標籤</code>執行個體。如果工具需要比對不同查詢指令的輸出內容和/或規則發出的標籤,這個功能就相當實用。如未啟用,輸出格式設定器可自由發出明顯的存放區名稱 (相對於主要存放區),讓輸出內容更易讀。
標記: terminal_output
--[no]experimental_explicit_aspects 預設值:「false」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: 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」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: terminal_output
--[no]include_commandline 預設值:「true」
在輸出中包含動作指令列的內容 (可能很大)。
標記: terminal_output
--[no]include_file_write_contents 預設值:「false」
加入 FileWrite、SourceSymlinkManifest 和 RepoMappingManifest 動作的檔案內容 (可能很大)。
標記: terminal_output
--[no]include_param_files 預設值:「false」
加入指令中所用參數檔案的內容 (可能很大)。注意:啟用這個標記後,系統會自動啟用 --include_commandline 標記。
標記: terminal_output
--[no]incompatible_package_group_includes_double_slash 預設值:「true」
啟用後,在輸出 package_group 的 `packages` 屬性時,就不會省略開頭的 `//`。
標記: terminal_outputincompatible_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、streamed_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_attribute_source_aspects 預設值:「false」
以屬性的來源切面填入每個屬性的 source_aspect_name proto 欄位 (如果不是,則為空白字串)。
標記: terminal_output
--[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」
是否在「rule_input」和「rule_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」的依附元件邊緣會指向通訊協定編譯器,通常指向在建構期間執行的工具,而不是同一個「目標」的一部分計畫。 Cquery:如果停用這項設定,系統會篩除所有已設定的目標,且這些目標會跨越頂層目標,從偵測到這個設定的目標開始轉移。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於 exec 設定中,系統只會傳回 exec 所設定的目標,這個選項「不會」排除已解析的工具鍊。
標記: build_file_semantics
--universe_scope=<comma-separated list of options> 預設值:「」
一組以半形逗號分隔的目標模式 (相加和減)。查詢可在指定目標的遞移性關閉所定義的全套中執行。這個選項可用於查詢和 cquery 指令。 以 cquery 來說,這個選項的輸入內容是所有答案的建構基礎,因此這個選項可能會影響設定和轉場效果。如未指定此選項,系統會將頂層目標假設為從查詢運算式剖析的目標。注意:在 cquery 中,如果無法透過頂層選項建構查詢運算式剖析的目標,則不指定這個選項可能會導致建構中斷。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--[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_analysisexecutionaffects_outputsexperimental
--[no]experimental_inmemory_jdeps_files 預設值:「true」
啟用後,Java 編譯產生的依附元件 (.jdeps) 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記: loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_objc_include_scanning 預設值:「false」
是否針對目標 C/C++ 執行 include 掃描。
標記: loading_and_analysisexecutionchanges_inputs
--[no]experimental_retain_test_configuration_across_testonly 預設值:「false」
啟用後,--trim_test_configuration 不會針對標示為 testonly=1 的規則裁剪測試設定。這種做法是為了減少非測試規則依賴 cc_test 規則時發生的動作衝突問題。如果 --trim_test_configuration 為 false,則不會產生任何影響。
標記: loading_and_analysisloses_incremental_state
--[no]experimental_starlark_cc_import 預設值:「false」
啟用後,即可使用 cc_import 的 Starlark 版本。
標記: loading_and_analysisexperimental
--[no]experimental_unsupported_and_brittle_include_scanning 預設值:「false」
是否透過剖析輸入檔案中的 #include 行,將輸入範圍縮小到 C/C++ 編譯。這麼做可減少編譯輸入樹狀結構大小,進而提升效能和成效增幅。但也可能破壞建構作業,因為 include 掃描器未完整實作 C 預先處理器語意。特別是,它無法瞭解動態 #include 指令,且會忽略預先處理器的條件邏輯。使用時需自行承擔風險。與此標記相關的任何問題都會結案。
標記: loading_and_analysisexecutionchanges_inputs
--[no]incremental_dexing 預設值:「true」
大部分的工作是分別針對各個 Jar 檔案進行 DEX 處理。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]objc_use_dotd_pruning 預設值:「true」
設定後,Clang 產生的 .d 檔案將用於修剪已傳遞至 objc 編譯的輸入組合。
標記: changes_inputsloading_and_analysis
--[no]process_headers_in_dependencies 預設值:「false」
建立目標 //a:a 時,所有 //a:a 取決於目標的作業標頭 (如果工具鍊已啟用標頭處理)。
標記: execution
--[no]trim_test_configuration 預設值:「true」
啟用後,系統會清除版本頂層下方的測試相關選項。這個標記啟用後,系統無法將測試建構為非測試規則的依附元件,但變更測試相關選項時,系統也不會重新分析非測試規則。
標記: loading_and_analysisloses_incremental_state
影響記錄詳細程度、格式或位置的選項:
--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 旗標的簡短名稱。這個 ID 會採用單一鍵/值組合,格式為「<鍵>=<值>」做為引數
標記: 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_outputsincompatible_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_outputsincompatible_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_analysisaffects_outputsincompatible_change
--[no]incompatible_use_python_toolchains 預設值:「true」
如果設為 true,可執行的原生 Python 規則將使用 Python 工具鍊指定的 Python 執行階段,而非使用舊版旗標 (如 --python_top) 指定的執行階段。
標記: loading_and_analysisincompatible_change
--python_version=<PY2 or PY3> 預設:查看說明
Python 主要版本模式,可以是「PY2」或「PY3」。請注意,`py_binary` 和 `py_test` 目標 (即使並未明確指定版本) 會覆寫此屬性,因此通常沒有太多理由提供這項旗標。
標記: loading_and_analysisaffects_outputs
其他選項,未分類。
--[no]cache_test_results [-t] 預設值:「auto」
如果設為「auto」,Bazel 只會在下列情況中重新執行測試:(1) Bazel 偵測到測試或其依附元件中的變更;(2) 將測試標示為外部,(3) 透過 --runs_per_test 或(4) 測試先前失敗,要求多次執行測試。如果設為「yes」,Bazel 會快取所有測試結果,除了標示為外部的測試以外。如果設為「no」,Bazel 就不會快取任何測試結果。
--[no]experimental_cancel_concurrent_tests 預設值:「false」
如果為 true,Blaze 會在第一次成功執行時取消並行執行測試。只有在搭配 --runs_per_test_detects_flakes 使用時才能使用。
標記: affects_outputsloading_and_analysis
--[no]experimental_fetch_all_coverage_outputs 預設值:「false」
如果為 true,Bazel 會在涵蓋率執行期間,擷取每項測試的整個涵蓋率資料目錄。
標記: affects_outputsloading_and_analysis
--[no]experimental_generate_llvm_lcov 預設值:「false」
如果設為 true,Clang 的涵蓋率將產生 LCOV 報告。
標記: affects_outputsloading_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 的 deps 取得。目前僅適用於 bazel。
--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 預設值:「true」
如果設為 true,當測試執行器未指出測試執行器時,必須輕觸 TEST_SHARD_STATUS_FILE 路徑中的檔案,表示支援資料分割。如為 false,則不支援資料分割的測試執行器會啟動每個資料分割中執行的所有測試。
標記: incompatible_change
--[no]incompatible_exclusive_test_sandboxed 預設值:「true」
如果為 true,將使用沙箱策略執行專屬測試。新增「local」強制在本機執行專屬測試的標記
標記: incompatible_change
--[no]incompatible_strict_action_env 預設值:「false」
如果設為 true,Bazel 使用的環境對 PATH 有靜態值,而且不會繼承 LD_LIBRARY_PATH。如要繼承用戶端的特定環境變數,請使用 --action_env=ENV_VARIABLE,但請注意,使用共用快取時,這麼做可以避免跨使用者快取。
標記: loading_and_analysisincompatible_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> 預設值:「」
Java 語言版本
--java_launcher=<a build target label> 預設:查看說明
建構 Java 二進位檔時使用的 Java 啟動器。如果這個旗標設為空白字串,則會使用 JDK 啟動器。「啟動器」屬性會覆寫此標記。
--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 時必須存在於主 dex 中的類別清單。
--optimizing_dexer=<a build target label> 預設:查看說明
指定要在不資料分割的情況下進行 DEX 處理的二進位檔。
累積 --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-compiler 的標籤。
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_cc=<a build target label> 預設:"@bazel_tools//tools/proto:cc_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 C++ proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_j2objc=<a build target label> 預設:"@bazel_tools//tools/j2objc:j2objc_proto_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 j2objc proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_java=<a build target label> 預設:"@bazel_tools//tools/proto:java_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 Java proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_javalite=<a build target label> 預設:"@bazel_tools//tools/proto:javalite_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 JavaLite proto
標記: affects_outputsloading_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 伺服器) 上設定 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, disabled or forced=k where k is the number of shards to enforce> 預設值:「煽情露骨內容」
指定測試資料分割策略:「明確」只有在 'shard_count' 已經使用資料分割時具有 BUILD 屬性。「已停用」不必使用測試資料分割「forced=k」強制執行「k」用於測試的資料分割,無論「shard_count」如何BUILD 屬性。
--tool_java_language_version=<a string> 預設值:「」
用於執行建構期間所需工具的 Java 語言版本
--tool_java_runtime_version=<a string> 預設值:「remotejdk_11」
用於在建構期間執行工具的 Java 執行階段版本
--[no]use_ijars 預設值:「true」
啟用後,這個選項會導致 Java 編譯使用介面 jar 檔案。這樣可以加快漸進式編譯速度,但錯誤訊息可能有所不同。

建構選項

顯示在指令之前且由用戶端剖析的選項:
累積 --distdir=<a path> 次多次使用
存取網路下載封存前,可從更多位置搜尋封存內容。
標記: bazel_internal_configuration
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--[no]check_up_to_date 預設值:「false」
請勿執行該版本,只要檢查是否為最新版本即可。如果所有目標都是處於最新狀態,建構作業就會順利完成。如有任何步驟需要執行,系統會回報錯誤並導致建構失敗。
標記: execution
--dynamic_local_execution_delay=<an integer> 預設:「1000」
如果遠端執行在建構作業中至少執行一次,本機執行作業應延遲多少毫秒?
標記: executionhost_machine_resource_optimizations
累積 --dynamic_local_strategy=<a '[name=]value1[,..,valueN]' assignment> 次多次使用
會配合指定記憶法 (採用第一種適用的策略) 來採用當地策略。例如,`worker,sandboxed` 會執行動作來支援使用工作站策略的持續性工作站,而其他所有採用沙箱策略的動作。如未提供助憶鍵,系統會使用策略清單做為所有記憶法的備用方案。如果設定了「experimental_local_lockfree_output」設定,預設的備用清單為 `worker,sandboxed` 或 `worker,sandboxed,standalone`。採用 [mnemonic=]local_strategy[,local_strategy,...]
標記: executionhost_machine_resource_optimizations
累積 --dynamic_remote_strategy=<a '[name=]value1[,..,valueN]' assignment> 次多次使用
為指定記憶法而遠端策略 (採用第一個適用的策略)。如未提供助憶鍵,系統會使用策略清單做為所有記憶法的備用方案。預設的備用清單為 `remote`,因此通常不需要明確設定這個旗標。採用 [mnemonic=]remote_strategy[,remote_strategy,...]
標記: executionhost_machine_resource_optimizations
--experimental_docker_image=<a string> 預設值:「」
指定 Docker 映像檔名稱 (例如「ubuntu:latest」) 在使用 Docker 策略時應用於執行沙箱動作,且平台說明中的動作本身也沒有 container-image 屬性。這個旗標的值會完整傳遞至「docker run」,因此支援與 Docker 本身相同的語法和機制。
標記: execution
--[no]experimental_docker_use_customized_images 預設值:「true」
如果啟用,在使用 Docker 映像檔之前,將目前使用者的 uid 和 gid 插入 Docker 映像檔。如果您的建構 / 測試取決於容器內擁有名稱和主目錄的使用者,就必須提供這項資訊。這項功能預設為開啟,但如果使用自動圖片自訂功能無法使用,或您確定不需要這項功能時,也可以停用這項功能。
標記: execution
--[no]experimental_dynamic_exclude_tools 預設值:「true」
設定之後,會建立「for Tool」的目標系統也不會動態執行這類目標不太可能累加,因此不值得在當地花費一定時間。
標記: executionhost_machine_resource_optimizations
--experimental_dynamic_local_load_factor=<a double> 預設值:「0」
控制要在本機電腦上執行的負載量。這個標記會調整系統將同時安排的動態執行作業中的動作數量。依據 Blaze 認為可用的 CPU 數量,可以使用 --local_cpu_resources 旗標來控制。 如果這個標記為 0,則所有動作都會立即在本機排程。如果 >0,排程本機動作的數量受限於可用 CPU 數量。如果1,如果等待排程的動作數量偏高,會使用負載因素來減少本機排定動作的數量。這樣在簡潔的建構案例中降低本機電腦上的負載,因為本機電腦上的負載不多。
標記: executionhost_machine_resource_optimizations
--experimental_dynamic_slow_remote_time=<An immutable length of time.> 預設值:「0」
如果大於 0,動態執行動作的時間必須在我們優先執行本機執行,才能避免遠端逾時。這可能會隱藏遠端執行系統上的一些問題。請勿在未監控遠端執行問題的情況下開啟這項功能。
標記: executionhost_machine_resource_optimizations
--[no]experimental_enable_docker_sandbox 預設值:「false」
啟用以 Docker 為基礎的沙箱機制。如果未安裝 Docker,這個選項不會產生任何作用。
標記: execution
--[no]experimental_inmemory_sandbox_stashes 預設值:「false」
如果設為 true,則會在記憶體中追蹤重複使用_sandbox_directories 的隱藏沙箱內容。這麼做可減少重複使用時所需的 I/O 量。視建構而定,此旗標可能會縮短實際執行時間。視版本及此標記而定,此標記可能會使用大量額外記憶體。
標記: host_machine_resource_optimizationsexecution
--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"> 預設:「4」
如果為 0,則在完成動作後立即刪除沙箱樹狀結構 (導致完成動作會延遲)。如果大於零,則在建構正在執行時,在大小為 1 的非同步執行緒集區中執行刪除這三個項目,並在伺服器處於閒置狀態時,調整為此旗標指定的大小。
標記: host_machine_resource_optimizationsexecution
--experimental_sandbox_memory_limit_mb=<an integer number of MBs, or "HOST_RAM", optionally followed by [-|*]<float>.> 預設值:「0」
如果 >0,每個 Linux 沙箱將有指定記憶體容量的限制 (MB)。需要 cgroups v1 或 v2,以及使用者的 cgroups 目錄權限。
標記: execution
--[no]experimental_shrink_worker_pool 預設值:「false」
啟用後,如果工作站的記憶體壓力偏高,即可縮減工作站集區。只有在已啟用旗標 experiment_total_worker_memory_limit_mb 時,才能使用這個標記。
標記: executionhost_machine_resource_optimizations
--[no]experimental_split_xml_generation 預設值:「true」
如果已設定這個標記,且測試動作不會產生 test.xml 檔案,Bazel 就會使用獨立的動作來產生含有測試記錄的虛擬 test.xml 檔案。否則,Bazel 會在測試動作中產生 test.xml。
標記: execution
--experimental_total_worker_memory_limit_mb=<an integer number of MBs, or "HOST_RAM", optionally followed by [-|*]<float>.> 預設值:「0」
如果這個上限大於零的閒置工作站,當所有工作站的記憶體總用量超過限制時,系統可能會終止這些工作站。
標記: executionhost_machine_resource_optimizations
--[no]experimental_use_hermetic_linux_sandbox 預設值:「false」
如果設為 true,則不要掛接根,只掛接 sandbox_add_mount_pair 所提供的內容。輸入檔案會硬性連結至沙箱,而不是從沙箱連至的符號。如果動作輸入檔案位於與沙箱不同的檔案系統中,系統會改為複製輸入檔案。
標記: execution
--[no]experimental_use_semaphore_for_jobs 預設值:「true」
如果設為 true,則使用 semaphore 來限制並行工作的數量。
標記: host_machine_resource_optimizationsexecution
--[no]experimental_use_windows_sandbox 預設值:「false」
請使用 Windows 沙箱執行動作。如果為「是」,則 --experimental_windows_sandbox_path 提供的二進位檔必須是有效且對應到支援的 sandboxfs 版本。若為「auto」,代表二進位檔可能遺失或不相容。
標記: execution
--experimental_windows_sandbox_path=<a string> 預設值:「BazelSandbox.exe」
--experimental_use_windows_sandbox 為 true 時使用的 Windows 沙箱二進位檔路徑。如果是裸名,請使用 PATH 中該名稱的第一個二進位。
標記: execution
--experimental_worker_allowlist=<comma-separated set of options> 預設:查看說明
如果非空白,則僅允許搭配指定工作站金鑰記憶使用持續工作站。
標記: executionhost_machine_resource_optimizations
--[no]experimental_worker_as_resource 預設值:「true」
免人工管理,很快就會移除。
標記: no_op
--[no]experimental_worker_cancellation 預設值:「false」
啟用後,Bazel 可能會將取消要求傳送給支援這些要求的工作站。
標記: execution
--experimental_worker_memory_limit_mb=<an integer number of MBs, or "HOST_RAM", optionally followed by [-|*]<float>.> 預設值:「0」
如果此限制大於零,當工作站的記憶體用量超出限制時,工作站可能會終止。如未與動態執行作業和 `--experimental_dynamic_ignore_local_signals=9` 搭配使用,建構作業可能會異常終止。
標記: executionhost_machine_resource_optimizations
--experimental_worker_metrics_poll_interval=<An immutable length of time.> 預設:「5 秒」
收集工作站指標和可能嘗試撤銷的間隔時間。基於效能考量,不能有效小於 1 秒。
標記: executionhost_machine_resource_optimizations
--[no]experimental_worker_multiplex_sandboxing 預設值:「false」
啟用後,系統就會對多工工作站採用沙箱機制,針對每個工作要求使用獨立的沙箱目錄。只有具有 supports-multiplex-sandboxing 的工作站執行要求將採用沙箱機制。
標記: execution
--[no]experimental_worker_sandbox_hardening 預設值:「false」
啟用後,如果實作允許,工作站會在強化沙箱中執行。
標記: execution
--[no]experimental_worker_strict_flagfiles 預設值:「false」
啟用後,未遵循 worker 規格的 worker 動作引數就會發生錯誤。工作站引數只能有一個 @flagfile 引數,做為引數清單的最後一項。
標記: execution
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
--genrule_strategy=<comma-separated list of options> 預設值:「」
指定 Genrules 的執行方式。這項標記將逐步停用。請改用 --spawn_strategy=<value>控制所有動作,或 --strategy=Genrule=<value>只會控管 Genrules
標記: execution
累積 --high_priority_workers=<a string> 次多次使用
免人工管理,很快就會移除。
標記: execution
如果設為 True,即可允許上傳至遠端或磁碟快取的符號連結。
標記: executionincompatible_change
如果設為 true,Bazel 一律會將符號連結上傳到遠端或磁碟快取。否則,系統會將非孤立的相對符號連結 (且僅限該連結) 上傳為指向的檔案或目錄。
標記: executionincompatible_change
--[no]incompatible_sandbox_hermetic_tmp 預設值:「true」
如果設為 true,每個 Linux 沙箱都會有單獨以 /tmp 掛接的專屬空白目錄,而不是與主機檔案系統共用 /tmp。使用 --sandbox_add_mount_pair=/tmp 持續在所有沙箱中看到主機 /tmp。
標記: execution
--[no]internal_spawn_scheduler 預設值:「false」
預留位置選項,可讓我們在 Blaze 中得知生成的排程器是否已啟用。
標記: executionhost_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 至 5,000 之間。如果值超過 2500,可能會造成記憶體問題。「auto」會根據主機資源計算合理的預設值。
標記: host_machine_resource_optimizationsexecution
--[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 預設值:「true」
如果設為 true,系統可能會重複使用沙箱的非工作站執行作業所使用的目錄,避免不必要的設定成本。
標記: host_machine_resource_optimizationsexecution
--sandbox_base=<a string> 預設值:「」
讓沙箱在這個路徑下方建立其沙箱目錄。指定 tmpfs 上的路徑 (例如 /run/shm),以便在建構 / 測試包含多個輸入檔案的情況下,大幅改善效能。注意: tmpfs 需要足夠的 RAM 和可用空間,才能保存執行動作產生的輸出和中繼檔案。
標記: host_machine_resource_optimizationsexecution
--[no]sandbox_explicit_pseudoterminal 預設值:「false」
明確啟用建立沙箱動作的虛擬終端。部分 Linux 發行版需要將程序的群組 ID 設為「tty」以便虛擬終結函式正常運作如果因此造成問題,您可以停用這個標記以啟用其他群組。
標記: execution
累積 --sandbox_tmpfs_path=<an absolute path> 次多次使用
針對沙箱動作,請將空白的可寫入目錄掛接在這個絕對路徑 (如果沙箱實作支援,則予以忽略)。
標記: host_machine_resource_optimizationsexecution
--[no]skip_incompatible_explicit_targets 預設值:「false」
略過指令列中明確列出的不相容目標。根據預設,建立這類目標會導致錯誤,但啟用這個選項時,系統會略過這些目標,不發出通知。請參閱:https://bazel.build/extending/platforms#skipping-incompatible-targets
標記: loading_and_analysis
--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 設定的值 (和 --genrule_strategy 搭配 mnemonic Genrule 時)。詳情請參閱 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 將執行 'Compiling //foo/bar/baz'「local」但反轉訂單將會以「沙箱模式」執行
標記: execution
累積 --worker_extra_flag=<a 'name=value' assignment> 次多次使用
額外的指令旗標。除了 --persistent_worker 外,會使用 mnemonic (例如 --worker_extra_flag=Javac=--debug)。
標記: executionhost_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」來啟動每種持續性工作站的實例數量策略。能以 [name=value] 的形式指定,為各種助詞指定不同的值。此上限是根據工作站金鑰計算,而工作站金鑰根據記憶法,但根據啟動旗標和環境而有所區分,因此在某些情況下,每個記憶法的工作站數量可能會多於這個旗標指定的數量。採用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據機器容量計算合理的預設值。「=值」會為未指定的記憶法設定預設值。
標記: executionhost_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"> 次多次使用
如果使用「worker」運用 --worker_multiplex 策略能以 [name=value] 的形式指定,為各種助詞指定不同的值。此上限是根據工作站金鑰計算,而工作站金鑰根據記憶法,但根據啟動旗標和環境而有所區分,因此在某些情況下,每個記憶法的工作站數量可能會多於這個旗標指定的數量。採用整數或關鍵字 (「auto」、「HOST_CPUS」、「HOST_RAM」),可視需要後面加上運算 ([-|*]<float>),例如:「auto」、「HOST_CPUS*.5」。「auto」會根據機器容量計算合理的預設值。「=值」會為未指定的記憶法設定預設值。
標記: executionhost_machine_resource_optimizations
--[no]worker_multiplex 預設值:「true」
啟用後,如果工作站在支援多工處理功能,就會使用多工處理功能。
標記: executionhost_machine_resource_optimizations
--[no]worker_quit_after_build 預設值:「false」
啟用後,所有工作站在建構完成後都會結束。
標記: executionhost_machine_resource_optimizations
--[no]worker_sandboxing 預設值:「false」
啟用後,工作站會在沙箱環境中執行。
標記: execution
--[no]worker_verbose 預設值:「false」
啟用後,在 worker 啟動時顯示詳細訊息...
設定動作執行的工具鍊選項:
--target_platform_fallback=<a string> 預設值:「」
這個選項已淘汰,不會有任何作用。
標記: affects_outputschanges_inputsloading_and_analysis
控制指令輸出內容的選項:
--[no]build 預設值:「true」
執行版本;這是正常的行為指定 --nobuild 會使建構在執行建構動作之前停止,如果套件載入和分析階段成功完成,則傳回零。這種模式在測試這些階段時相當實用
標記: executionaffects_outputs
--[no]experimental_use_validation_aspect 預設值:「false」
是否使用切面執行驗證動作 (用於測試的平行處理)。
標記: executionaffects_outputs
累積 --output_groups=<comma-separated list of options> 次多次使用
輸出群組名稱清單 (以半形逗號分隔),每個名稱均可加上「+」或「-」前置字元。前置字串「+」的群組會新增至預設的輸出群組組合,前置字串「-」的群組會從預設集合中移除。如果未指定至少一個群組,系統會略過預設的輸出群組組合。例如,--output_groups=+foo,+bar 會建立預設集合、foo 和 bar 的聯集;--output_groups=foo,bar 會覆寫預設集合,以便只建構 foo 和 bar。
標記: executionaffects_outputs
--[no]run_validations 預設值:「true」
是否在版本中執行驗證動作。詳情請參閱 https://bazel.build/extending/rules#validation_actions
標記: executionaffects_outputs
選項,讓使用者設定預期輸出 (影響其值),而不是影響輸出的存在:
累積 --aspects=<comma-separated list of options> 次多次使用
要套用到頂層指定目標的元素清單 (以半形逗號分隔)。在清單中,如果 some_aspect 透過 required_aspect_providers 指定所需的切面提供者,則部分_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
這個標記可控制存取便利符號連結 (建構後在工作區中顯示的符號連結) 的管理方式。可能的值包括: 正常 (預設):每種便利的符號連結都會建立或刪除,由建構決定。 empty:系統會無條件刪除所有符號連結。 忽略:符號連結會單獨保留。 log_only:產生記錄訊息,例如「正常」但實際上並未執行任何檔案系統操作 (對工具很有參考價值)。 請注意,只有名稱由目前 --symlink_prefix 值產生的符號連結才會受到影響。變更前置字元時,現有的任何符號連結都會單獨保留。
標記: affects_outputs
此旗標會控制是否要將 build eventConvenienceSymlinksIdentified 發布至 BuildEventProtocol。如果值為 true,BuildEventProtocol 將有一個方便您識別便利性 Symlinks 的項目,並列出工作區中建立的所有便利符號連結。如果是 false,BuildEventProtocol 中的 easySymlinksIdentified 項目將為空白。
標記: affects_outputs
--remote_download_all
將所有遠端輸出內容下載到本機電腦。這個旗標是 --remote_download_outputs=all 的別名。
展開至:
--remote_download_outputs=all

標記: affects_outputs
圖示
--remote_download_minimal
不會將任何遠端建構輸出內容下載到本機電腦。這個旗標是 --remote_download_outputs=minimal 的別名。
展開至:
--remote_download_outputs=minimal

標記: affects_outputs
圖示
--remote_download_outputs=<all, minimal or toplevel> 預設值:「頂層」
如果設為「minimal」不會將本機動作所需的任何遠端建構輸出內容下載至本機電腦。如果設為「toplevel」表現得「極簡」但也會將頂層目標的輸出內容下載至本機電腦如果網路頻寬是瓶頸,這兩個選項都可以大幅縮短建構時間。
標記: affects_outputs
建議您建立符號連結,而非將遠端建構輸出內容下載至本機電腦。可以使用範本字串的形式,指定符號連結的目標。這個範本字串可能包含 {hash} 和 {size_bytes},分別展開為物件的雜湊和大小 (以位元組為單位)。舉例來說,這些符號連結可指向能隨選從 CAS 載入物件的 FUSE 檔案系統。
標記: affects_outputs
--remote_download_toplevel
只將頂層目標的遠端輸出下載到本機電腦。這個旗標是 --remote_download_outputs=toplevel 的別名。
展開至:
--remote_download_outputs=toplevel

標記: affects_outputs
圖示
在版本建立後建立的任何便利符號連結前面的前置字串。如果省略此引數,預設值為建構工具的名稱,後面加上連字號。如果「/」,系統不會建立符號連結,也不會發出警告訊息。警告:'/' 具有特殊功能(即將淘汰)請改用 --experimental_convenience_symlinks=ignore。
標記: affects_outputs
影響 Bazel 強制執行有效建構輸入內容的方式 (規則定義、標記組合等) 的選項:
--[no]experimental_docker_privileged 預設值:「false」
若啟用,Bazel 會將 --privileged 標記傳送至「docker run」也應該考量您的建構可能需要進行此操作,但這也可能降低語意。
標記: execution
免人工管理
標記: host_machine_resource_optimizationsexecution
--[no]incompatible_legacy_local_fallback 預設值:「false」
如果設為 true,系統會啟用舊版的隱含式退回功能,從沙箱機制改為本機策略。此標記最終將預設為 false,然後成為非操作。請改用 --strategy、--spawn_strategy 或 --dynamic_local_strategy 改為設定備用選項。
標記: executionincompatible_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」
預設允許動作存取網路;可能不適用於所有沙箱實作。
標記: execution
--[no]sandbox_fake_hostname 預設值:「false」
將目前的主機名稱變更為「localhost」套用沙箱的動作
標記: execution
--[no]sandbox_fake_username 預設值:「false」
將目前的使用者名稱變更為「nobody」套用沙箱的動作
標記: execution
累積 --sandbox_writable_path=<a string> 次多次使用
針對沙箱動作,請在沙箱中將現有的目錄設為可寫入 (如果沙箱實作支援,則予以忽略)。
標記: execution
這個選項會影響 Starlark 語言的語意,或是 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案可存取的 Build API。
--[no]incompatible_config_setting_private_default_visibility 預設值:「false」
如果 incompatible_enforce_config_setting_visibility=false,表示這是 noop。此外,如果此標記為 false,則沒有明確瀏覽權限屬性的 config_setting 將會是 //visibility:public。如果這個標記為 true,config_setting 與所有其他規則使用相同的顯示邏輯。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記: loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 預設值:「true」
如果為 true,系統會強制執行 config_setting 瀏覽權限限制。如果值為 False,每個目標都能看到每個 config_setting。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記: loading_and_analysisincompatible_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」,則系統只會對一般測試進行一次測試,以及針對規則明確標示為不穩定的測試 (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」的基本暫存目錄。
,瞭解如何調查及移除這項存取權。
查詢輸出和語意相關選項:
--[no]experimental_parallel_aquery_output 預設值:「true」
免人工管理。
Bzlmod 輸出和語意相關選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--cache_computed_file_digests=<a long integer> 預設:「50000」
如果大於 0,就會設定 Bazel 根據中繼資料將檔案摘要快取在記憶體中,而不是在每次需要時重新計算磁碟中的摘要。將此值設為 0 可確保設定檔正確,因為系統無法從檔案中繼資料記錄所有檔案變更。如果值不為 0,這個數字代表快取大小做為要快取的檔案摘要數量。
--experimental_dynamic_ignore_local_signals=<a comma-separated list of signal numbers> 預設:查看說明
這會擷取 OS 信號號碼清單。如果動態執行作業的本機分支版本因這些信號而終止,系統會改為結束遠端分支版本。對持續性工作站而言,這只會影響終止工作站程序的信號。
標記: execution
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--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 核心數量。
標記: host_machine_resource_optimizations
累積 --local_extra_resources=<a named float, 'name=value'> 次多次使用
設定 Bazel 可用的額外資源數量。採用字串浮點組。可以多次用於指定多種類型的額外資源。Bazel 會根據可用的額外資源和所需額外資源,限制並行執行的動作。測試可以使用「resources:<resoucename>:<amount>」標記,宣告所需額外資源數量格式。無法使用這個標記設定可用的 CPU、RAM 和資源。
標記: host_machine_resource_optimizations
--local_ram_resources=<an integer number of MBs, 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。
標記: host_machine_resource_optimizations
累積 --local_resources=<a named double, '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"> 次多次使用
設定 Bazel 可用的資源數量。這個指派到浮點數或 HOST_RAM/HOST_CPUS 之後,可以選擇在後面加上 [-|*]<float>(例如 memory=HOST_RAM*.5 使用一半的可用 RAM)。可以多次使用來指定多種資源類型。Bazel 會根據可用資源和所需資源限制並行執行的動作。測試可以使用「resources:<resource name>:<amount>」標記來宣告所需資源數量格式。覆寫 --local_{cpu|ram|extra}_resources 指定的資源。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--[no]debug_spawn_scheduler 預設值:「false」
--[no]experimental_bep_target_summary 預設值:「false」
是否發布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets 預設值:「false」
如果為 true,則在顯示輸出檔案時,請展開 BEP 中的 Files 集。
標記: affects_outputs
如果設為 true,則在顯示輸出檔案時,完整解析 BEP 中的相對檔案集符號連結。需要 --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.> 預設:「1 秒」
初始、指數輪詢重試失敗時,指數輪詢重試的最短延遲時間。(指數:1.6)
標記: bazel_internal_configuration
--experimental_build_event_upload_strategy=<a string> 預設:查看說明
選擇如何上傳建構事件通訊協定中參照的構件。
標記: affects_outputs
--[no]experimental_collect_local_sandbox_action_metrics 預設值:「true」
淘汰免人工管理。
標記: execution
圖示
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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_run_bep_event_include_residue 預設值:「false」
是否要在執行建構事件中加入指令列殘餘,可能含有殘餘資訊。根據預設,執行指令建構事件不會納入殘留資訊,這些事件可能包含殘留資訊。
標記: affects_outputs
--[no]experimental_stream_log_file_uploads 預設值:「false」
串流記錄檔會直接上傳至遠端儲存空間,而非寫入磁碟。
標記: affects_outputs
--explain=<a path> 預設:查看說明
讓建構系統解釋每個執行的建構步驟。說明會寫入指定的記錄檔。
標記: affects_outputs
--[no]ignore_unsupported_sandboxing 預設值:「false」
如果這個系統不支援採用沙箱機制的執行作業,不顯示警告。
標記: terminal_output
--[no]legacy_important_outputs 預設值:「true」
這可用來忽略在 TargetComplete 事件中產生舊版 important_outputs 欄位的行為。Bazel 必須具備 important_outputs 才能與 ResultStore 整合。
標記: 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_runnerterminal_outputexecution
--output_filter=<a valid Java regular expression> 預設:查看說明
只有在規則名稱與提供的規則運算式相符時,系統才會顯示警告和動作輸出內容。
標記: affects_outputs
--progress_report_interval=<an integer in 0-3600 range> 預設值:「0」
針對仍在執行中工作的報表,等待的秒數。預設值為 0,表示系統會在 10 秒後列印第一份報表,然後 30 秒顯示,並在完成後每分鐘回報一次。啟用 --curses 時,系統會每秒回報進度。
標記: affects_outputs
--remote_print_execution_messages=<failure, success or all> 預設值:「失敗」
選擇列印遠端執行訊息的時間。有效值為 `failure`,用於僅在失敗時顯示;`success` 僅在成功時輸出,`all` 則會一律顯示。
標記: terminal_output
--[no]sandbox_debug 預設值:「false」
啟用沙箱功能的偵錯功能。這包括兩個事項:首先,沙箱根內容在建構後不會修改。其次,在執行時列印額外的偵錯資訊。這可讓 Bazel 或 Starlark 規則的開發人員找出因缺少輸入檔案而無法進行偵錯等問題。
標記: terminal_output
--show_result=<an integer> 預設:「1」
顯示建構結果。請針對每個目標,說明其是否已提供最新內容,如果已製作完畢,則會顯示已建構的輸出檔案清單。列印的檔案是很方便的字串,用於複製 + 貼到殼層,以便執行。 這個選項需要整數引數,也就是高於此門檻的目標數量,系統就不會列印結果資訊。因此 0 會導致系統隱抑訊息,而 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」
指定所需的輸出模式。有效值為「summary」只會輸出測試狀態摘要「錯誤」並顯示失敗測試的測試記錄,「all」顯示所有測試和「串流」的記錄即時輸出所有測試的記錄 (無論 --test_strategy 值為何,這將強制一次在本機執行一次測試)。
標記: test_runnerterminal_outputexecution
--test_summary=<short, terse, detailed, none or testcase> 預設值:「短」
指定您想要的測試摘要格式。有效值為「short」這樣一來,就只會顯示所執行測試的「錯誤」資訊,只顯示執行失敗測試的「詳細資料」列印失敗測試案例的詳細資訊「testcase」在測試案例解決階段列印摘要,不要列印失敗測試案例的詳細資訊,以及「無」即可省略摘要。
標記: 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」是清單中某些切面的參數,或清單內切面需要的參數。這個選項可以重複使用。但不得多次將值指派給同一個參數。
標記: 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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--[no]experimental_guard_against_concurrent_changes 預設值:「false」
關閉此功能,即可停用在將動作上傳至遠端快取之前,先檢查動作的輸入檔案 ctime。在某些情況下,Linux kernel 可能會延遲檔案寫入作業,可能導致誤判。
--[no]experimental_remote_cache_async 預設值:「false」
如果設為 true,遠端快取 I/O 將在背景執行,而不是在產生作業時進行。
--experimental_remote_cache_compression_threshold=<an integer> 預設值:「0」
使用 zstd 壓縮/解壓縮所需的 blob 大小下限。除非已設定 --remote_cache_compression,否則效果仍然有效。
--experimental_remote_cache_eviction_retries=<an integer> 預設值:「0」
如果建構遇到遠端快取清除錯誤,重試的次數上限。系統會將非零值設為 true,並將 --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]experimental_remote_cache_lease_extension 預設值:「false」
如果設為 true,Bazel 會定期將「Find MissingBlobs」呼叫傳送至遠端快取,在建構期間延長遠端動作的輸出租約。頻率是以「--experimental_remote_cache_ttl」的值計算。
,瞭解如何調查及移除這項存取權。
--experimental_remote_cache_ttl=<An immutable length of time.> 預設:「3 小時」
系統近期會參照遠端快取中 blob 的最短存留時間 (TTL),如下所示:透過 ActionResult 或 Find MissingBlobs 建立廣告請求Bazel 會根據 blob 的存留時間,例如未在漸進式建構作業中重複呼叫 GetActionResult。設定值應略低於實際存留時間,因為伺服器傳回摘要與 Bazel 收到摘要之間會有間隔。
標記: 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> 預設:查看說明
要當做遠端下載 Proxy 的 Remote Asset API 端點 URI。支援的結構定義為 grpc、grpcs (gRPC,已啟用 TLS) 和 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」
是否針對遠端執行呼叫使用保持運作。
--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。
--experimental_remote_output_service=<a string> 預設:查看說明
遠端輸出服務端點的 HOST 或 HOST:PORT。支援的結構定義為 grpc、grpcs (gRPC,已啟用 TLS) 和 Unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設使用 grpcs。如要停用 TLS,請指定 grpc:// 或 Unix:結構定義。
--experimental_remote_output_service_output_path_prefix=<a string> 預設值:「」
將 --experimental_remote_output_service 管理的輸出目錄放在哪個路徑。建構作業使用的實際輸出目錄會是這個路徑的子系,並由輸出服務決定。
--[no]experimental_remote_require_cached 預設值:「false」
如果設為 true,系統會強制快取所有可遠端執行的動作,否則建構作業會失敗。這有助於排解非確定性問題,因為這項功能可以檢查是否應快取的動作,確認系統是否確實快取了應快取的動作,而不會誤將新結果插入快取。
--experimental_remote_scrubbing_config=<Converts to a Scrubber> 預設:查看說明
透過提供的設定檔 (必須是文字格式的通訊協定緩衝區) 啟用遠端快取金鑰清除功能 (請參閱 src/main/protobuf/remote_scrubbing.proto)。 這項功能的目的是在針對相同平台執行、但指定相同平台的動作之間,協助共用遠端/磁碟快取。請謹慎使用此設定,因為不當設定可能會導致意外共用快取項目,進而導致建構錯誤。 拖曳不會影響動作的執行方式,只會影響其遠端/磁碟快取金鑰的計算方式,以擷取或儲存動作結果。拖曳的動作與遠端執行不相容,因此將一律改為在本機執行。 修改清除設定並不會使本機檔案系統或內部快取中的輸出內容失效。必須建構乾淨的建構作業,才能重新執行受影響的動作。 為成功使用這項功能,建議您搭配使用自訂 --host_platform 和 --experimental_platform_in_output_dir (將輸出前置字串正規化) 和 --incompatible_strict_action_env (將環境變數正規化)。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
--[no]incompatible_remote_build_event_upload_respect_no_cache 預設值:「false」
已淘汰。免人工管理。請改用 --remote_build_event_upload=minimal。
--[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」
免人工管理
標記: incompatible_change
圖示
--[no]incompatible_remote_use_new_exit_code_for_lost_inputs 預設值:「true」
如果設為 true,當遠端快取在建構期間清除 blob 時,Bazel 將使用新的結束代碼 39,而非 34。
標記: incompatible_change
--[no]remote_accept_cached 預設值:「true」
是否接受遠端快取動作結果。
--remote_build_event_upload=<all or minimal> 預設值:「minimal」
如果設為「all」,BEP 參照的所有本機輸出內容都會上傳到遠端快取。 如果設為「minimal」,BEP 參照的本機輸出資料不會上傳至遠端快取,但 BEP 消費者重視的檔案 (例如測試記錄和時間設定檔) 除外。即使遠端快取中沒有檔案 URI,檔案 URI 一律會使用 bytestream:// scheme。 預設值為「minimal」。
--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。如要停用 TLS,請指定 grpc://、http:// 或 Unix:結構定義。請參閱 https://bazel.build/remote/caching
,瞭解如何調查及移除這項存取權。
--[no]remote_cache_compression 預設值:「false」
啟用後,在大小至少為 --experimental_remote_cache_compression_threshold 時,使用 zstd 壓縮/解壓縮快取 blob。
累積 --remote_cache_header=<a 'name=value' assignment> 次多次使用
指定要包含在快取要求中的標頭:--remote_cache_header=Name=Value。只要多次指定旗標,即可傳遞多個標頭。同一個名稱的多個值會轉換成以半形逗號分隔的清單。
累積 --remote_default_exec_properties=<a 'name=value' assignment> 次多次使用
設定要做為遠端執行平台的預設 exec 屬性 (如果執行平台尚未設定 exec_properties)。
標記: affects_outputs
--remote_default_platform_properties=<a string> 預設值:「」
設定遠端執行 API 的預設平台屬性 (如果執行平台尚未設定 remote_execution_properties)。如果選取主機平台做為遠端執行作業的執行平台,系統也會使用這個值。
累積 --remote_download_regex=<a valid Java regular expression> 次多次使用
強制下載路徑符合這個模式的遠端建構作業輸出 (無論 --remote_download_outputs)。重複使用這個標記即可指定多個模式。
標記: affects_outputs
累積 --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> 預設:查看說明
遠端執行端點的 HOST 或 HOST:PORT。支援的結構定義為 grpc、grpcs (gRPC,已啟用 TLS) 和 Unix (本機 UNIX 通訊端)。如未提供結構定義,Bazel 會預設使用 grpcs。如要停用 TLS,請指定 grpc:// 或 Unix:結構定義。
--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」的值時沒有作用也會設定 Pod
標記: eagerness_to_exit
--auto_output_filter=<none, all, packages or subpackages> 預設:「無」
如未指定 --output_filter,則系統會使用這個選項的值自動建立篩選器。允許值為「無」(不篩選或顯示所有內容)、「all」(篩選所有內容 / 不顯示任何內容)、「套件」(包括 Blaze 指令列中提及的套件中的規則輸出內容) 和「子套件」(例如「商品套件」,但包含子套件)。適用於「packages」和「subpackages」value //java/foo 和 //javatests/foo 視為一個套件)。
--[no]build_manual_tests 預設值:「false」
強制將測試目標標記為「手動」要建構的每個 Pod「手動」測試即會排除。這個選項會強制建立 (但不會執行) 這些 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 中檢查來源檔案的語法很有用,例如重新建構依附來源檔案的單一目標,以便在編輯/建構/測試週期中盡早偵測錯誤。此引數會影響所有非旗標引數的解譯方式;而非建立目標,那就是來源檔案名稱系統會為每個來源檔案名稱建構一個相依的任意目標。
累積 --deleted_packages=<comma-separated list of package names> 次多次使用
逗號分隔的套件名稱清單,建構系統視為不存在的套件,即使它們出現在套件路徑中也一樣。 刪除子套件「x/y」時,請使用這個選項現有套件「x」的描述例如,在用戶端中刪除 x/y/BUILD 後,如果建構系統遇到「//x:y/z」標籤,可能會抱怨還是由另一個 package_path 項目提供該值。指定 --delete_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 所述,將執行產生的結果記錄為長度分隔的 SpawnExec 原型。相關旗標:--execution_log_json_file (文字 JSON 格式;互斥);--execution_log_sort (是否排序執行記錄)、--subcommands (用於在終端機輸出中顯示子指令)。
--execution_log_json_file=<a path> 預設:查看說明
根據 src/main/protobuf/spawn.proto 所述,將執行產生的結果記錄為 SpawnExec 原型的 JSON 表示法 (以換行符號分隔)。相關旗標:--execution_log_binary_file (二進位 protobuf 格式;互斥);--execution_log_sort (是否排序執行記錄檔)、--sub 指令 (用於在終端機輸出中顯示子指令)。
--[no]execution_log_sort 預設值:「true」
是否排序執行記錄,方便比較不同叫用的記錄。設為 false,可避免叫用結束時產生可能大量的 CPU 和記憶體用量,但因為以非確定的執行順序產生記錄可能會產生費用。僅適用於二進位檔和 JSON 格式。密集格式一律不會排序
--[no]expand_test_suites 預設值:「true」
先將 test_suite 目標擴及其中的組成測試,再進行分析。啟用此旗標 (預設值) 時,排除目標模式會套用至測試套件中的測試,否則就不會套用。如要在指令列套用頂層切面,關閉此標記就能派上用場,以便分析 test_suite 目標。
標記: loading_and_analysis
--experimental_execution_log_compact_file=<a path> 預設:查看說明
根據 src/main/protobuf/spawn.proto,將執行產生的結果記錄為長度分隔的 ExecLogEntry 通訊協定。整個檔案都經過 zstd 壓縮。這是仍在開發階段的實驗性格式,隨時可能變更。相關旗標:--execution_log_binary_file (二進位 protobuf 格式;互斥);--execution_log_json_file (文字 JSON 格式;可互斥)、--subcommands (用於在終端機輸出中顯示子指令)。
--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 的時間。
--experimental_spawn_scheduler
在本機和遠端同時執行動作,藉此啟用動態執行功能。Bazel 會在本機和遠端產生每個動作,並挑選先完成的動作。如果動作支援 worker,本機動作就會以永久工作站模式執行。如要為個別動作的記憶法啟用動態執行功能,請改用 `--internal_spawn_scheduler` 和 `--strategy=<mnemonic>=dynamic` 旗標。
展開至:
--internal_spawn_scheduler
--spawn_strategy=dynamic
--[no]fetch 預設值:「true」
可讓指令擷取外部依附元件。如果設為 false,指令會使用任何依附元件的快取版本,如果不存在,指令就會失敗。
--[no]incompatible_dont_use_javasourceinfoprovider 預設值:「false」
免人工管理
標記: incompatible_change
圖示
--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 行為和測試指令。
--workspace_status_command=<path> 預設值:「」
建構開始時叫用的指令,會以鍵/值組合的形式提供工作區的狀態資訊。請參閱使用者手冊,瞭解完整規格。如有需要,您也可以參閱 tools/buildstamp/get_workspace_status 的說明。
,瞭解如何調查及移除這項存取權。
控制建構執行作業的選項:
--[no]check_up_to_date 預設值:「false」
請勿執行該版本,只要檢查是否為最新版本即可。如果所有目標都是處於最新狀態,建構作業就會順利完成。如有任何步驟需要執行,系統會回報錯誤並導致建構失敗。
標記: execution
是否直接呼叫檔案系統來建立符號連結樹狀結構
標記: loading_and_analysisexecutionexperimental
--[no]experimental_persistent_aar_extractor 預設值:「false」
使用工作站啟用永久 AAR 擷取器。
標記: execution
--[no]experimental_remotable_source_manifests 預設值:「false」
是否讓來源資訊清單動作可回到相同狀態
標記: loading_and_analysisexecutionexperimental
--[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
--[no]experimental_use_semaphore_for_jobs 預設值:「true」
如果設為 true,則使用 semaphore 來限制並行工作的數量。
標記: host_machine_resource_optimizationsexecution
--genrule_strategy=<comma-separated list of options> 預設值:「」
指定 Genrules 的執行方式。這項標記將逐步停用。請改用 --spawn_strategy=<value>控制所有動作,或 --strategy=Genrule=<value>只會控管 Genrules
標記: execution
--[no]incompatible_disallow_unsound_directory_outputs 預設值:「true」
設定後,如果將輸出檔案具體化為目錄,就會發生錯誤。不會影響來源目錄。詳情請參閱 https://github.com/bazelbuild/bazel/issues/18646。
標記: bazel_internal_configurationincompatible_change
--[no]incompatible_modify_execution_info_additive 預設值:「false」
啟用時,傳遞多個 --modify_execution_info 標記屬於累加性質。如果停用這項設定,系統只會將最後一個標記納入考量。
標記: executionaffects_outputsloading_and_analysisincompatible_change
--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 至 5,000 之間。如果值超過 2500,可能會造成記憶體問題。「auto」會根據主機資源計算合理的預設值。
標記: host_machine_resource_optimizationsexecution
--[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」新增「requires-x」查看所有 Genrule 動作的執行資訊 「(?!Genrule).*=-requires-x'移除「requires-x」查看所有非 Genrule 操作的執行資訊
標記: executionaffects_outputsloading_and_analysis
--persistent_android_dex_desugar
使用工作站啟用永久的 Android dex 和脫糖動作。
展開至:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker

--strategy=DexBuilder=worker
標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=AARGenerator=worker
--strategy=ProcessDatabinding=worker
--strategy=GenerateDataBindingBaseClasses=worker
敬上
標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_dex_desugar
使用工作站啟用永久的多重 Android DEX 和脫糖動作。
展開至:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar

標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=+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=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers

標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_tools
啟用永久和多工 Android 工具 (DEX、脫糖、資源處理)。
展開至:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor

--persistent_multiplex_android_dex_desugar
標記: host_machine_resource_optimizationsexecution
--[no]skip_incompatible_explicit_targets 預設值:「false」
略過指令列中明確列出的不相容目標。根據預設,建立這類目標會導致錯誤,但啟用這個選項時,系統會略過這些目標,不發出通知。請參閱:https://bazel.build/extending/platforms#skipping-incompatible-targets
標記: loading_and_analysis
--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 設定的值 (和 --genrule_strategy 搭配 mnemonic Genrule 時)。詳情請參閱 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 將執行 'Compiling //foo/bar/baz'「local」但反轉訂單將會以「沙箱模式」執行
標記: execution
--[no]use_target_platform_for_tests 預設值:「false」
如果設為 true,Bazel 會使用目標平台執行測試,而不是測試執行群組。
標記: execution
設定用於執行動作的工具鍊選項:
--android_compiler=<a string> 預設:查看說明
Android 目標編譯器。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 預設值:「//external:android/crosstool」
用於 Android 版本的 C++ 編譯器位置。
標記: affects_outputschanges_inputsloading_and_analysisloses_incremental_state
--android_grte_top=<a label> 預設:查看說明
Android 目標 grte_top。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_manifest_merger=<legacy, android or force_android> 預設:「android」
選取要用於 android_binary 規則的資訊清單合併工具。這個旗標可協助您從舊版合併工具轉換至 Android 資訊清單合併工具。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_platforms=<a build target label> 預設值:「」
設定 android_binary 目標使用的平台。如果指定多個平台,則二進位檔會是笨重的 APK,其中含有每個指定目標平台的原生二進位檔。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_sdk=<a build target label> 預設:"@bazel_tools//tools/android:sdk"
指定 Android SDK/平台,用來建構 Android 應用程式。
標記: changes_inputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
要用於 Apple 和 Objc 規則及其依附元件的 Crosstool 套件標籤。
標記: loses_incremental_statechanges_inputs
--cc_output_directory_tag=<a string> 預設值:「」
指定要新增至設定目錄的後置字串。
標記: affects_outputs
--compiler=<a string> 預設:查看說明
用於編譯目標的 C++ 編譯器。
標記: loading_and_analysisexecution
--coverage_output_generator=<a build target label> 預設值:「@bazel_tools//tools/test:lcov_merger」
用於後置原始涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:lcov_merger」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_report_generator=<a build target label> 預設:"@bazel_tools//tools/test:coverage_report_generator"
用於產生涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:coverage_report_generator」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_support=<a build target label> 預設值:「@bazel_tools//tools/test:coverage_support」
針對每個會收集程式碼涵蓋率的測試動作,輸入所需的支援檔案位置。預設為 '//tools/test:coverage_support'。
標記: changes_inputsaffects_outputsloading_and_analysis
--crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記: loading_and_analysischanges_inputsaffects_outputs
--custom_malloc=<a build target label> 預設:查看說明
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記: changes_inputsaffects_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_include_xcode_execution_requirements 預設值:「false」
如果已設定,請新增「requires-xcode:{version}」每個 Xcode 動作都必須執行。如果 Xcode 版本有連字號標籤,請同時加上「requires-xcode-label:{version_label}」執行需求
標記: loses_incremental_stateloading_and_analysisexecution
--[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> 次多次使用
工具鍊解析時要考量的工具鍊規則。工具鍊可以由精確目標或目標模式指定。系統會先考量這些工具鍊,然後才會在 WORKSPACE 檔案內透過 Register_toolchains() 宣告這些工具鍊。
標記: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 預設:查看說明
已簽到 libc 程式庫的標籤。預設值是由跨工具工具鍊選取,您幾乎不需要覆寫該值。
標記: action_command_linesaffects_outputs
--host_compiler=<a string> 預設:查看說明
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,系統就會忽略這項設定。
標記: loading_and_analysisexecution
--host_crosstool_top=<a build target label> 預設:查看說明
根據預設,--crosstool_top 和 --compiler 選項也能用於 exec 設定。如果您提供這個標記,Bazel 會為指定的 Crosstool_top 使用預設的 libc 和編譯器。
標記: loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 預設:查看說明
指定時,此設定會覆寫 exec 設定的 libc 頂層目錄 (--grte_top)。
標記: action_command_linesaffects_outputs
--host_platform=<a build target label> 預設值:"@bazel_tools//tools:host_platform"
說明主機系統的平台規則標籤。
標記: affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 預設值:「true」
如果設為 true,Bazel 不會啟用「主機」和「nonhost」c++ 工具鍊中的特徵 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7407)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_enable_android_toolchain_resolution 預設值:「true」
使用工具鍊解析度選取 Android SDK for Android 規則 (Starlark 和 native)
標記: loading_and_analysisincompatible_change
--[no]incompatible_enable_apple_toolchain_resolution 預設值:「false」
使用 Toolchain 解析度選取 Apple SDK for apple 規則 (Starlark 和 native)
標記: loading_and_analysisincompatible_change
--[no]incompatible_make_thinlto_command_lines_standalone 預設值:「true」
如果設為 true,Bazel 就不會在 lto 索引指令列中重複使用 C++ 連結動作指令列 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/6791)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_remove_legacy_whole_archive 預設值:「true」
如果設為 true,Bazel 預設不會連結程式庫依附元件完整的封存檔 (如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7362)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_require_ctx_in_configure_features 預設值:「true」
如果設為 true,Bazel 會要求「ctx」參數加到 cc_common.configure_features (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7793)。
標記: loading_and_analysisincompatible_change
--[no]interface_shared_objects 預設值:「true」
如果工具鍊支援介面共用物件,請使用介面共用物件。所有 ELF 工具鍊目前都支援這項設定。
標記: loading_and_analysisaffects_outputsaffects_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_analysisaffects_outputs
--platform_mappings=<a relative path> 預設值:「」
對應檔案所在位置,用於說明在未設定平台時要使用的平台,或是平台已存在時要設定的標記。必須與主要工作區根目錄相關。預設值為「platform_mappings」(在工作區根目錄下直接提供一個檔案)。
標記: affects_outputschanges_inputsloading_and_analysis
--platforms=<a build target label> 預設值:「」
平台規則的標籤,說明目前指令的目標平台。
標記: affects_outputschanges_inputsloading_and_analysis
--python2_path=<a string> 預設:查看說明
已淘汰,免人工管理。已由 `--incompatible_use_python_toolchains` 停用。
標記: no_opdeprecated
--python3_path=<a string> 預設:查看說明
已淘汰,免人工管理。已由 `--incompatible_use_python_toolchains` 停用。
標記: no_opdeprecated
--python_path=<a string> 預設:查看說明
叫用 Python 解譯器的絕對路徑,以便在目標平台上執行 Python 目標。已淘汰;已由 --incompatible_use_python_toolchains 停用。
標記: loading_and_analysisaffects_outputs
--python_top=<a build target label> 預設:查看說明
這個 py_runtime 標籤,代表為了在目標平台上執行 Python 目標而叫用的 Python 解譯器。已淘汰;已由 --incompatible_use_python_toolchains 停用。
標記: loading_and_analysisaffects_outputs
--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 SDK 的版本,用於建構 watchOS 應用程式。如未指定,則會使用「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_config 規則的標籤,用於在建構設定中選取 Xcode 版本。
標記: loses_incremental_stateloading_and_analysis
控制指令輸出的選項:
--[no]apple_generate_dsym 預設值:「false」
是否產生偵錯符號 (.dSYM) 檔案。
標記: affects_outputsaction_command_lines
--[no]build 預設值:「true」
執行版本;這是正常的行為指定 --nobuild 會使建構在執行建構動作之前停止,如果套件載入和分析階段成功完成,則傳回零。這種模式在測試這些階段時相當實用
標記: executionaffects_outputs
如果為 true,系統會針對所有目標建構執行檔案符號樹系。如果是 false,請只在需要本機動作、測試或執行指令時寫入。
標記: affects_outputs
--[no]build_runfile_manifests 預設值:「true」
如果為 true,則為所有目標寫入執行檔案資訊清單。如果是 false,請省略。如果為 false,本機測試將無法執行。
標記: affects_outputs
--[no]build_test_dwp 預設值:「false」
啟用後,當您以靜態方式建構 C++ 測試以及透過 FIFT 檢查時,系統也會自動建構測試二進位檔的 .dwp 檔案。
標記: loading_and_analysisaffects_outputs
--cc_proto_library_header_suffixes=<comma-separated set of options> 預設值:「.pb.h」
設定 cc_proto_library 建立的標頭檔案後置字串。
標記: affects_outputsloading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated set of options> 預設值:「.pb.cc」
設定 cc_proto_library 所建立來源檔案的後置字串。
標記: affects_outputsloading_and_analysis
--[no]experimental_proto_descriptor_sets_include_source_info 預設值:「false」
針對 proto_library 中的替代 Java API 版本執行額外動作。
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_proto_extra_actions 預設值:「false」
針對 proto_library 中的替代 Java API 版本執行額外動作。
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_save_feature_state 預設值:「false」
將已啟用和要求的功能狀態儲存為編譯的輸出內容。
標記: affects_outputsexperimental
--[no]experimental_use_validation_aspect 預設值:「false」
是否使用切面執行驗證動作 (用於測試的平行處理)。
標記: executionaffects_outputs
--fission=<a set of compilation modes> 預設值:「否」
指定哪些編譯模式適用於 C++ 編譯和連結。可以是 {'fastbuild'、'dbg'、'opt'} 的任意組合,或是特殊值「yes」即可啟用所有模式,而 [否]即可停用所有模式
標記: loading_and_analysisaction_command_linesaffects_outputs
--[no]incompatible_always_include_files_in_data 預設值:「true」
如果為 true,原生規則會新增 <code>DefaultInfo.files</code>。資料依附關係,進而符合 Starlark 規則的建議行為 (https://bazel.build/extending/rules#runfiles_features_to_avoid)。
標記: affects_outputsincompatible_change
--[no]legacy_external_runfiles 預設值:「true」
設為 true 時,除了 .runfiles/repo 之外,系統會為 .runfiles/wsname/external/repo 下的外部存放區建構執行檔案符號樹系。
標記: 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 和 bar。
標記: executionaffects_outputs
--[no]run_validations 預設值:「true」
是否在版本中執行驗證動作。詳情請參閱 https://bazel.build/extending/rules#validation_actions
標記: executionaffects_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_outputsloading_and_analysisloses_incremental_state
--[no]android_databinding_use_androidx 預設值:「true」
產生與 AndroidX 相容的資料繫結檔案。僅供資料繫結 v2 使用。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]android_databinding_use_v3_4_args 預設值:「true」
使用 android databinding v2 搭配 3.4.0 引數。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--android_dynamic_mode=<off, default or fully> 預設值:「停用」
決定當 cc_binary 未明確建立共用程式庫時,是否要以動態方式連結 Android 規則的 C++ 依附元件。「預設」代表 bazel 會選擇是否要動態連結。「完全」代表系統會動態連結所有程式庫「關閉」表示所有程式庫都會以靜態模式建立連結。
標記: affects_outputsloading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency> 預設值:「字母順序」
設定傳遞至 Android 二進位檔資訊清單合併工具的資訊清單順序。ALPHABETICAL 表示資訊清單會依照執行階段的相對路徑排序。ALPHABETICAL_BY_CONFIGURATION 表示資訊清單會根據輸出目錄中的設定目錄相關路徑排序。DEPENDENCY 代表資訊清單的順序,會依照每個程式庫的資訊清單依序出現在其依附元件的資訊清單之前。
標記: action_command_linesexecution
--[no]android_resource_shrinking 預設值:「false」
針對使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記: affects_outputsloading_and_analysis
累積 --aspects=<comma-separated list of options> 次多次使用
要套用到頂層指定目標的元素清單 (以半形逗號分隔)。在清單中,如果 some_aspect 透過 required_aspect_providers 指定所需的切面提供者,則部分_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 檔案;其他平台上的玩家
標記: affects_outputs
圖示
累積 --catalyst_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple Catalyst 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_and_analysis
--[no]collect_code_coverage 預設值:「false」
如有指定,Bazel 會檢測程式碼 (盡可能使用離線檢測功能),並在測試期間收集涵蓋率資訊。只有符合 --instrumentation_filter 的目標會受到影響。通常這個選項不應直接指定 -「Bazel 涵蓋範圍」指令。
標記: affects_outputs
--compilation_mode=<fastbuild, dbg or opt> [-c] 預設值:「Fastbuild」
指定二進位檔的建構模式。值:「fastbuild」、「dbg」、「opt」。
標記: affects_outputsaction_command_lines
累積 --conlyopt=<a string> 次多次使用
編譯 C 來源檔案時傳遞至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
累積 --copt=<a string> 次多次使用
傳遞至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
--cpu=<a string> 預設值:「」
目標 CPU。
標記: changes_inputsaffects_outputs
--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_linesaffects_outputs
累積 --define=<a 'name=value' assignment> 次多次使用
每個 --define 選項都會指定建構變數的指派作業。
標記: changes_inputsaffects_outputs
--dynamic_mode=<off, default or fully> 預設值:「預設」
決定是否動態連結 C++ 二進位檔。「預設」Bazel 就會選擇是否要動態連結「完全」代表系統會動態連結所有程式庫「關閉」表示所有程式庫都會以靜態模式建立連結。
標記: loading_and_analysisaffects_outputs
--[no]enable_fdo_profile_absolute_path 預設值:「true」
如果設定這個項目,使用 fdo_absolute_profile_path 會引發錯誤。
標記: affects_outputs
--[no]enable_runfiles 預設值:「auto」
啟用執行檔案符號連結樹狀結構。在其他平台上,這項設定預設為關閉。
標記: affects_outputs
累積 --experimental_action_listener=<a build target label> 次多次使用
已淘汰,改用切面。使用 action_listener 將 extra_action 附加至現有的建構動作。
標記: executionexperimental
--[no]experimental_android_compress_java_resources 預設值:「false」
壓縮 APK 中的 Java 資源
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_android_databinding_v2 預設值:「true」
使用 Android Databinding v2。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]experimental_android_resource_shrinking 預設值:「false」
針對使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記: affects_outputsloading_and_analysis
--[no]experimental_android_rewrite_dexes_with_rex 預設值:「false」
使用 Rex 工具重新編寫 dex 檔案
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]experimental_collect_code_coverage_for_generated_files 預設值:「false」
如有指定,Bazel 也會針對產生的檔案收集涵蓋率資訊。
標記: affects_outputs
這個標記可控制存取便利符號連結 (建構後在工作區中顯示的符號連結) 的管理方式。可能的值包括: 正常 (預設):每種便利的符號連結都會建立或刪除,由建構決定。 empty:系統會無條件刪除所有符號連結。 忽略:符號連結會單獨保留。 log_only:產生記錄訊息,例如「正常」但實際上並未執行任何檔案系統操作 (對工具很有參考價值)。 請注意,只有名稱由目前 --symlink_prefix 值產生的符號連結才會受到影響。變更前置字元時,現有的任何符號連結都會單獨保留。
標記: affects_outputs
此旗標會控制是否要將 build eventConvenienceSymlinksIdentified 發布至 BuildEventProtocol。如果值為 true,BuildEventProtocol 將有一個方便您識別便利性 Symlinks 的項目,並列出工作區中建立的所有便利符號連結。如果是 false,BuildEventProtocol 中的 easySymlinksIdentified 項目將為空白。
標記: 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 和 -fasynchronous-unwind-Table 進行編譯。
標記: action_command_linesaffects_outputsexperimental
--experimental_output_paths=<off, content or strip> 預設值:「停用」
哪個模型要用於輸出樹狀結構規則的何處寫入輸出內容 (尤其是多平台 / 多設定版本)。這項實驗功能相當實驗性詳情請參閱 https://github.com/bazelbuild/bazel/issues/6526。Starlark 動作可以新增「supports-path-mapping」鍵,選擇啟用路徑對應「execution_requirements」。
標記: loses_incremental_statebazel_internal_configurationaffects_outputsexecution
累積 --experimental_override_name_platform_in_output_dir=<a 'label=value' assignment> 次多次使用
每個項目都應採用 label=value 的格式,其中標籤參照平台,而值則是輸出路徑中使用的所需簡稱。只有在 --experimental_platform_in_output_dir 為 true 時才能使用。命名優先順序最高。
標記: affects_outputsexperimental
--[no]experimental_platform_in_output_dir 預設值:「false」
如果設為 true,則輸出目錄名稱會使用目標平台的簡稱,而不會使用 CPU。確切的配置尚在實驗階段,且可能會有變動:首先,在極少數的情況下,--platforms 選項沒有隻有一個值,則會使用平台選項的雜湊值。接下來,如果目前平台的簡稱是由 --experimental_override_name_platform_in_output_dir 註冊,系統會使用該簡稱。接著,如果已設定 --experimental_use_platforms_in_output_dir_legacy_heuristic,則使用以目前平台標籤為基礎的簡稱。最後,如果不得已,就必須使用平台選項的雜湊值。
標記: affects_outputsexperimental
--[no]experimental_use_llvm_covmap 預設值:「false」
如有指定,Bazel 會在啟用 collection_code_coverage 的情況下,產生 llvm-cov 涵蓋範圍地圖資訊,而非 gcov。
標記: changes_inputsaffects_outputsloading_and_analysisexperimental
--[no]experimental_use_platforms_in_output_dir_legacy_heuristic 預設值:「true」
請只在建議的遷移或測試策略中使用這個標記。請注意,經驗法則已知有缺陷,建議您遷移並只依賴 --experimental_override_name_platform_in_output_dir。
標記: affects_outputsexperimental
--fat_apk_cpu=<comma-separated set of options> 預設:「armeabi-v7a」
設定這個選項會啟用笨重的 APK,其中包含所有指定目標架構的原生二進位檔,例如--fat_apk_cpu=x86,armeabi-v7a.如果指定此標記,則系統會針對 android_binary 規則的依附元件忽略 --android_cpu。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]fat_apk_hwasan 預設值:「false」
是否建立 HWASAN 分割。
標記: affects_outputsloading_and_analysisloses_incremental_state
--fdo_instrument=<a string> 預設:查看說明
使用 FDO 檢測產生二進位檔。透過 Clang/LLVM 編譯器,也可接受系統在執行階段傾印原始設定檔時使用的目錄名稱。
標記: affects_outputs
--fdo_optimize=<a string> 預設:查看說明
使用 FDO 設定檔資訊將編譯作業最佳化。請指定含有 .gcda 檔案樹狀結構的 ZIP 檔案名稱、含有自動設定檔的 afdo 檔案,或是 LLVM 設定檔。這個旗標也接受指定為標籤的檔案 (例如 `//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_inputsaffects_outputs
--[no]force_pic 預設值:「false」
啟用後,所有 C++ 編譯都會產生與位置無關的程式碼 (「-fPIC」),連結偏好 PIC 預先建構的程式庫,而非非 PIC 程式庫,而連結則會產生位置獨立的執行檔 (「-pie」)。
標記: loading_and_analysisaffects_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_outputsaction_command_lines
累積 --host_conlyopt=<a string> 次多次使用
在 exec 設定中編譯 C (而非 C++) 來源檔案時,傳遞至 C 編譯器的其他選項。
標記: action_command_linesaffects_outputs
累積 --host_copt=<a string> 次多次使用
針對 exec 設定中建立的工具,傳遞給 C 編譯器的其他選項。
標記: action_command_linesaffects_outputs
--host_cpu=<a string> 預設值:「」
主機 CPU。
標記: changes_inputsaffects_outputs
累積 --host_cxxopt=<a string> 次多次使用
針對在 exec 設定中建構的工具,傳遞至 C++ 編譯器的其他選項。
標記: action_command_linesaffects_outputs
累積 --host_features=<a string> 次多次使用
根據預設,系統會為執行設定中的目標啟用或停用指定的功能。指定 -<feature>會停用這項功能排除功能一律會覆寫正數。
標記: changes_inputsaffects_outputs
--host_force_python=<PY2 or PY3> 預設:查看說明
覆寫 exec 設定的 Python 版本。可以是「PY2」或「PY3」
標記: loading_and_analysisaffects_outputs
累積 --host_linkopt=<a string> 次多次使用
在執行設定中連結工具時,傳送給連接器的其他選項。
標記: action_command_linesaffects_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> 次多次使用
透過 exec 設定編譯特定檔案時,選擇性傳遞至 C/C++ 編譯器的其他選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--host_per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0,將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案的 gcc 指令列選項 ( bar.cc 除外)。
標記: action_command_linesaffects_outputs
累積 --host_swiftcopt=<a string> 次多次使用
傳遞至 swiftc 的 exec 工具其他選項。
標記: action_command_linesaffects_outputs
--[no]incompatible_auto_exec_groups 預設值:「false」
啟用後,系統會自動為規則使用的各個工具鍊建立執行群組。如要執行這項動作,必須在其動作中指定「toolchain」參數。詳情請參閱 https://github.com/bazelbuild/bazel/issues/17134。
標記: affects_outputsincompatible_change
--[no]incompatible_merge_genfiles_directory 預設值:「true」
如果為 true,genfiles 目錄會摺疊至 bin 目錄。
標記: affects_outputsincompatible_change
--[no]incompatible_use_host_features 預設值:「true」
設為 true 時,請僅針對目標設定使用 --features,用於 exec 設定則使用 --host_features。
標記: changes_inputsaffects_outputsincompatible_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_stateloading_and_analysis
--[no]legacy_whole_archive 預設值:「true」
已淘汰,並由 --incompatible_remove_legacy_whole_Archive 取代 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7362)。開啟時,對含有 linkshared=True 且 linkstatic=True 或 '-static' 的 cc_binary 規則使用 --whole-Archive當中的連結這種做法僅適用於回溯相容性。更好的做法是在必要時使用 Alwayslink=1。
標記: action_command_linesaffects_outputsdeprecated
累積 --linkopt=<a string> 次多次使用
連結時傳送至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
累積 --ltobackendopt=<a string> 次多次使用
傳送到 LTO 後端步驟的其他選項 (位於 --features=thin_lto 下)。
標記: action_command_linesaffects_outputs
累積 --ltoindexopt=<a string> 次多次使用
傳送至 LTO 索引步驟的其他選項 (位於 --features=thin_lto 下方)。
標記: action_command_linesaffects_outputs
累積 --macos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple macOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_and_analysis
--macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')> 預設:查看說明
目標的相容 macOS 最低版本。如未指定,則會使用「macos_sdk_version」。
標記: loses_incremental_state
--memprof_profile=<a build target label> 預設:查看說明
使用 memprof 設定檔。
標記: affects_outputs
--[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,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案的 gcc 指令列選項 ( bar.cc 除外)。
標記: action_command_linesaffects_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,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--per_file_ltobackendopt=//foo/.*\.o,-//foo/bar\.o@-O0 將 -O0 指令列選項新增至 //foo/ 中所有檔案的 LTO 後端指令列 ( bar.o 除外)。
標記: action_command_linesaffects_outputs
--platform_suffix=<a string> 預設:查看說明
指定要新增至設定目錄的後置字串。
標記: loses_incremental_stateaffects_outputsloading_and_analysis
--propeller_optimize=<a build target label> 預設:查看說明
使用 Propeller 設定檔資訊,將建構目標最佳化。螺旋器設定檔必須包含至少兩個檔案 (一個 cc 設定檔和一個舊設定檔)。此旗標接受建構標籤,該標籤必須參照依附元件設定檔輸入檔案。例如,定義標籤的 BUILD 檔案必須在 a/b/BUILD:propeller_optimize( name = "propeller_profile", cc_profile = "propeller_cc_profile.txt", ld_profile = "propeller_ld_profile.txt",) 中,必須加入「exports_files」指令,才會在對應的套件中加入「exports_files」指令。這個選項必須使用以下形式:--propeller_optimize=//a/b:propeller_profile
標記: action_command_linesaffects_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
--[no]share_native_deps 預設值:「true」
如果設為 true,包含相同功能的原生資料庫會在不同的目標之間共用
標記: loading_and_analysisaffects_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_linesaffects_outputs
累積 --swiftcopt=<a string> 次多次使用
傳遞至 Swift 編譯的其他選項。
標記: action_command_lines
在版本建立後建立的任何便利符號連結前面的前置字串。如果省略此引數,預設值為建構工具的名稱,後面加上連字號。如果「/」,系統不會建立符號連結,也不會發出警告訊息。警告:'/' 具有特殊功能(即將淘汰)請改用 --experimental_convenience_symlinks=ignore。
標記: affects_outputs
累積 --tvos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple tvOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_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_stateloading_and_analysis
累積 --watchos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple watchOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_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_inputsloading_and_analysisexperimental
--[no]check_licenses 預設值:「false」
檢查依附套件設下的授權限制,沒有與所建構目標的發布模式相衝突。根據預設,系統不會勾選授權。
標記: build_file_semantics
--[no]check_visibility 預設值:「true」
如果停用,系統會將目標依附元件中的瀏覽權限錯誤降級為警告。
標記: build_file_semantics
--[no]desugar_for_android 預設值:「true」
是否要在 dex 之前脫糖 Java 8 位元碼。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]desugar_java8_libs 預設值:「false」
是否要在舊版裝置的應用程式中加入支援的 Java 8 程式庫。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]enforce_constraints 預設值:「true」
檢查每個目標都相容的環境,並在任何目標的依附元件不支援相同環境時回報錯誤
標記: build_file_semantics
圖示
--[no]experimental_check_desugar_deps 預設值:「true」
是否要在 Android 二進位檔層級仔細檢查正確的脫糖程序。
標記: eagerness_to_exitloading_and_analysisexperimental
--experimental_import_deps_checking=<off, warning or error> 預設值:「關閉」
啟用之後,請檢查 aar_import 的依附元件是否已完成。這項強制執行可能會破壞建構作業,或只會導致警告。
標記: loading_and_analysis
--experimental_one_version_enforcement=<off, warning or error> 預設值:「關閉」
啟用後,系統會強制規定 java_binary 規則在類別路徑中不得包含相同類別檔案的多個版本。這項強制執行可能會破壞建構作業,或只會導致警告。
標記: loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default> 預設值:「預設」
如果為 true,則檢查 Java 目標是否明確宣告所有直接使用的目標為依附元件。
標記: build_file_semanticseagerness_to_exit
--[no]incompatible_check_testonly_for_output_files 預設值:「false」
啟用之後,僅會查詢產生規則的測試,僅檢查輸出檔案的先決條件目標是否進行測試。這與檢查瀏覽權限相符。
標記: build_file_semanticsincompatible_change
--[no]incompatible_check_visibility_for_toolchains 預設值:「false」
如果啟用,瀏覽權限檢查功能也會套用至工具鍊實作。
標記: build_file_semanticsincompatible_change
--[no]incompatible_disable_native_android_rules 預設值:「false」
啟用後,系統會停用直接使用原生 Android 規則。請使用 https://github.com/bazelbuild/rules_android 提供的 Starlark Android 規則
標記: eagerness_to_exitincompatible_change
--[no]incompatible_disable_native_apple_binary_rule 預設值:「false」
免人工管理。以維持回溯相容性。
標記: eagerness_to_exitincompatible_change
--[no]incompatible_python_disable_py2 預設值:「true」
如為 true,則使用 Python 2 設定會導致錯誤。包括 python_version=PY2、srcs_version=PY2 和 srcs_version=PY2ONLY。詳情請參閱 https://github.com/bazelbuild/bazel/issues/15684。
標記: loading_and_analysisincompatible_change
--[no]incompatible_validate_top_level_header_inclusions 預設值:「true」
如果為 true,Bazel 也會驗證頂層目錄標頭納入項目 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/10047)。
標記: loading_and_analysisincompatible_change
--[no]one_version_enforcement_on_java_tests 預設值:「true」
啟用時,若將 experiment_one_version_enforcement 設為非 NONE 值,對 java_test 目標強制套用一個版本。您可以停用這個標記,提高漸進式測試成效,但犧牲掉可能違反一個版本的行為。
標記: loading_and_analysis
--python_native_rules_allowlist=<a build target label> 預設:查看說明
強制執行 --incompatible_python_禁止_native_rules 時使用的許可清單 (package_group target)。
標記: loading_and_analysis
--[no]strict_filesets 預設值:「false」
啟用這個選項後,系統會將跨套件邊界的檔案集回報為錯誤。
標記: build_file_semanticseagerness_to_exit
--strict_proto_deps=<off, warn, error, strict or default> 預設值:「error」
除非為關閉,否則檢查 proto_library 目標是否明確宣告所有直接使用的目標為依附元件。
標記: build_file_semanticseagerness_to_exitincompatible_change
--strict_public_imports=<off, warn, error, strict or default> 預設值:「停用」
除非 OFF,否則檢查 proto_library 目標是否明確宣告「import public」中的所有目標匯出。
標記: build_file_semanticseagerness_to_exitincompatible_change
--[no]strict_system_includes 預設值:「false」
如果設為 true,透過系統找到的標頭也必須包含路徑 (-isystem)。
標記: loading_and_analysiseagerness_to_exit
累積 --target_environment=<a build target label> 次多次使用
宣告此建構作業的目標環境。必須是「環境」的標籤參照規則。指定時,所有頂層目標都必須與這個環境相容。
標記: changes_inputs
影響建構的簽署輸出的選項:
--apk_signing_method=<v1, v2, v1_v2 or v4> 預設:「v1_v2」
實作用於簽署 APK
標記: action_command_linesaffects_outputsloading_and_analysis
--[no]device_debug_entitlements 預設值:「true」
如果已設定,且編譯模式不是「最佳化」,objc 應用程式在簽署時就會納入偵錯授權。
標記: changes_inputs
--ios_signing_cert_name=<a string> 預設:查看說明
用於 iOS 簽署的憑證名稱。如未設定,系統會改回佈建設定檔。可以是憑證的鑰匙圈身分偏好設定,或是憑證的通用名稱 (子字串),視編碼符號的手冊所示 (SIGNING IDENTITIES) 而定。
標記: action_command_lines
這個選項會影響 Starlark 語言的語意,或是 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案可存取的 Build API。
--[no]incompatible_config_setting_private_default_visibility 預設值:「false」
如果 incompatible_enforce_config_setting_visibility=false,表示這是 noop。此外,如果此標記為 false,則沒有明確瀏覽權限屬性的 config_setting 將會是 //visibility:public。如果這個標記為 true,config_setting 與所有其他規則使用相同的顯示邏輯。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記: loading_and_analysisincompatible_change
--[no]incompatible_disallow_legacy_py_provider 預設值:「true」
免人工管理,很快就會移除。
標記: loading_and_analysisincompatible_change
--[no]incompatible_disallow_sdk_frameworks_attributes 預設值:「false」
如果設為 true,則禁止在 objc_library 和 objc_import 中使用 sdk_frameworks 和 weak_sdk_frameworks 屬性。
標記: build_file_semanticsincompatible_change
--[no]incompatible_enforce_config_setting_visibility 預設值:「true」
如果為 true,系統會強制執行 config_setting 瀏覽權限限制。如果值為 False,每個目標都能看到每個 config_setting。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記: loading_and_analysisincompatible_change
如為 true,則將 objc_library 和 objc_import 中的一律連結屬性預設值設為 true。
標記: build_file_semanticsincompatible_change
--[no]incompatible_python_disallow_native_rules 預設值:「false」
若設為 true,使用內建 py_* 規則時會發生錯誤;而是應使用規則_python 規則如需更多資訊和遷移操作說明,請前往 https://github.com/bazelbuild/bazel/issues/17773。
標記: loading_and_analysisincompatible_change
管理測試環境或測試執行工具行為的選項:
--[no]allow_analysis_failures 預設值:「false」
如果設為 true,當分析失敗時,將包含錯誤說明的 AnalysisFailureInfo 例項傳播,而不會導致建構失敗。
標記: loading_and_analysisexperimental
--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_analysisexperimental
--[no]check_tests_up_to_date 預設值:「false」
請不要執行測試,只要檢查測試是否為最新版本即可。如果所有測試結果都是最新的,表示測試已成功完成。如果需要建立或執行任何測試,系統會回報錯誤並失敗。這個選項代表 --check_up_to_date 行為。
標記: execution
累積 --default_test_resources=<a resource name followed by equal and 1 float or 4 float, e.g. memory=10,30,60,100> 次多次使用
覆寫測試的預設資源數量。格式應為 <resource>=<value>。如果將某個正數指定為 <value>該設定會覆寫所有測試大小的預設資源如果指定 4 個以半形逗號分隔的數字,則這些數字會分別覆寫小型、中大型、大型測試大小的資源量。值也可以為 HOST_RAM/HOST_CPU,並可視需要加上 [-|*]<float>(例如 memory=HOST_RAM*.1,HOST_RAM*.2,HOST_RAM*.3,HOST_RAM*.4)。標記中指定的明確資源會覆寫這個標記指定的預設測試資源。
--[no]experimental_android_use_parallel_dex2oat 預設值:「false」
並行使用 dex2oat,可以加快 android_test 的速度。
標記: loading_and_analysishost_machine_resource_optimizationsexperimental
累積 --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」,則系統只會對一般測試進行一次測試,以及針對規則明確標示為不穩定的測試 (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」的基本暫存目錄。
--[no]zip_undeclared_test_outputs 預設值:「true」
如為 true,未宣告的測試輸出內容會以 ZIP 檔案封存。
標記: test_runner
觸發建構時間最佳化的選項:
--cache_computed_file_digests=<a long integer> 預設:「50000」
如果大於 0,就會設定 Bazel 根據中繼資料將檔案摘要快取在記憶體中,而不是在每次需要時重新計算磁碟中的摘要。將此值設為 0 可確保設定檔正確,因為系統無法從檔案中繼資料記錄所有檔案變更。如果值不為 0,這個數字代表快取大小做為要快取的檔案摘要數量。
--[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_analysisexecutionaffects_outputsexperimental
--[no]experimental_inmemory_jdeps_files 預設值:「true」
啟用後,Java 編譯產生的依附元件 (.jdeps) 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記: loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_objc_include_scanning 預設值:「false」
是否針對目標 C/C++ 執行 include 掃描。
標記: loading_and_analysisexecutionchanges_inputs
--[no]experimental_retain_test_configuration_across_testonly 預設值:「false」
啟用後,--trim_test_configuration 不會針對標示為 testonly=1 的規則裁剪測試設定。這種做法是為了減少非測試規則依賴 cc_test 規則時發生的動作衝突問題。如果 --trim_test_configuration 為 false,則不會產生任何影響。
標記: loading_and_analysisloses_incremental_state
--[no]experimental_starlark_cc_import 預設值:「false」
啟用後,即可使用 cc_import 的 Starlark 版本。
標記: loading_and_analysisexperimental
--[no]experimental_unsupported_and_brittle_include_scanning 預設值:「false」
是否透過剖析輸入檔案中的 #include 行,將輸入範圍縮小到 C/C++ 編譯。這麼做可減少編譯輸入樹狀結構大小,進而提升效能和成效增幅。但也可能破壞建構作業,因為 include 掃描器未完整實作 C 預先處理器語意。特別是,它無法瞭解動態 #include 指令,且會忽略預先處理器的條件邏輯。使用時需自行承擔風險。與此標記相關的任何問題都會結案。
標記: loading_and_analysisexecutionchanges_inputs
--[no]incremental_dexing 預設值:「true」
大部分的工作是分別針對各個 Jar 檔案進行 DEX 處理。
標記: affects_outputsloading_and_analysisloses_incremental_state
--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 核心數量。
標記: host_machine_resource_optimizations
累積 --local_extra_resources=<a named float, 'name=value'> 次多次使用
設定 Bazel 可用的額外資源數量。採用字串浮點組。可以多次用於指定多種類型的額外資源。Bazel 會根據可用的額外資源和所需額外資源,限制並行執行的動作。測試可以使用「resources:<resoucename>:<amount>」標記,宣告所需額外資源數量格式。無法使用這個標記設定可用的 CPU、RAM 和資源。
標記: host_machine_resource_optimizations
--local_ram_resources=<an integer number of MBs, 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。
標記: host_machine_resource_optimizations
累積 --local_resources=<a named double, '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"> 次多次使用
設定 Bazel 可用的資源數量。這個指派到浮點數或 HOST_RAM/HOST_CPUS 之後,可以選擇在後面加上 [-|*]<float>(例如 memory=HOST_RAM*.5 使用一半的可用 RAM)。可以多次使用來指定多種資源類型。Bazel 會根據可用資源和所需資源限制並行執行的動作。測試可以使用「resources:<resource name>:<amount>」標記來宣告所需資源數量格式。覆寫 --local_{cpu|ram|extra}_resources 指定的資源。
標記: host_machine_resource_optimizations
--[no]objc_use_dotd_pruning 預設值:「true」
設定後,Clang 產生的 .d 檔案將用於修剪已傳遞至 objc 編譯的輸入組合。
標記: changes_inputsloading_and_analysis
--[no]process_headers_in_dependencies 預設值:「false」
建立目標 //a:a 時,所有 //a:a 取決於目標的作業標頭 (如果工具鍊已啟用標頭處理)。
標記: execution
--[no]trim_test_configuration 預設值:「true」
啟用後,系統會清除版本頂層下方的測試相關選項。這個標記啟用後,系統無法將測試建構為非測試規則的依附元件,但變更測試相關選項時,系統也不會重新分析非測試規則。
標記: loading_and_analysisloses_incremental_state
影響記錄詳細程度、格式或位置的選項:
--[no]experimental_bep_target_summary 預設值:「false」
是否發布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets 預設值:「false」
如果為 true,則在顯示輸出檔案時,請展開 BEP 中的 Files 集。
標記: affects_outputs
如果設為 true,則在顯示輸出檔案時,完整解析 BEP 中的相對檔案集符號連結。需要 --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.> 預設:「1 秒」
初始、指數輪詢重試失敗時,指數輪詢重試的最短延遲時間。(指數:1.6)
標記: bazel_internal_configuration
--experimental_build_event_upload_strategy=<a string> 預設:查看說明
選擇如何上傳建構事件通訊協定中參照的構件。
標記: affects_outputs
--[no]experimental_materialize_param_files_directly 預設值:「false」
如果具體化參數檔案,請直接寫入磁碟。
標記: execution
--[no]experimental_run_bep_event_include_residue 預設值:「false」
是否要在執行建構事件中加入指令列殘餘,可能含有殘餘資訊。根據預設,執行指令建構事件不會納入殘留資訊,這些事件可能包含殘留資訊。
標記: 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 必須具備 important_outputs 才能與 ResultStore 整合。
標記: 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_runnerterminal_outputexecution
--output_filter=<a valid Java regular expression> 預設:查看說明
只有在規則名稱與提供的規則運算式相符時,系統才會顯示警告和動作輸出內容。
標記: affects_outputs
--progress_report_interval=<an integer in 0-3600 range> 預設值:「0」
針對仍在執行中工作的報表,等待的秒數。預設值為 0,表示系統會在 10 秒後列印第一份報表,然後 30 秒顯示,並在完成後每分鐘回報一次。啟用 --curses 時,系統會每秒回報進度。
標記: affects_outputs
--show_result=<an integer> 預設:「1」
顯示建構結果。請針對每個目標,說明其是否已提供最新內容,如果已製作完畢,則會顯示已建構的輸出檔案清單。列印的檔案是很方便的字串,用於複製 + 貼到殼層,以便執行。 這個選項需要整數引數,也就是高於此門檻的目標數量,系統就不會列印結果資訊。因此 0 會導致系統隱抑訊息,而 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」
指定所需的輸出模式。有效值為「summary」只會輸出測試狀態摘要「錯誤」並顯示失敗測試的測試記錄,「all」顯示所有測試和「串流」的記錄即時輸出所有測試的記錄 (無論 --test_strategy 值為何,這將強制一次在本機執行一次測試)。
標記: test_runnerterminal_outputexecution
--test_summary=<short, terse, detailed, none or testcase> 預設值:「短」
指定您想要的測試摘要格式。有效值為「short」這樣一來,就只會顯示所執行測試的「錯誤」資訊,只顯示執行失敗測試的「詳細資料」列印失敗測試案例的詳細資訊「testcase」在測試案例解決階段列印摘要,不要列印失敗測試案例的詳細資訊,以及「無」即可省略摘要。
標記: 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」是清單中某些切面的參數,或清單內切面需要的參數。這個選項可以重複使用。但不得多次將值指派給同一個參數。
標記: loading_and_analysis
累積 --flag_alias=<a 'name=value' flag alias> 次多次使用
設定 Starlark 旗標的簡短名稱。這個 ID 會採用單一鍵/值組合,格式為「<鍵>=<值>」做為引數
標記: 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_outputsincompatible_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_outputsincompatible_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_analysisaffects_outputsincompatible_change
--[no]incompatible_use_python_toolchains 預設值:「true」
如果設為 true,可執行的原生 Python 規則將使用 Python 工具鍊指定的 Python 執行階段,而非使用舊版旗標 (如 --python_top) 指定的執行階段。
標記: loading_and_analysisincompatible_change
--python_version=<PY2 or PY3> 預設:查看說明
Python 主要版本模式,可以是「PY2」或「PY3」。請注意,`py_binary` 和 `py_test` 目標 (即使並未明確指定版本) 會覆寫此屬性,因此通常沒有太多理由提供這項旗標。
標記: loading_and_analysisaffects_outputs
--target_pattern_file=<a string> 預設值:「」
如果設定此設定,建構作業將會從此處命名的檔案讀取模式,而非透過指令列讀取。在這裡指定檔案和指令列模式時發生錯誤。
標記: changes_inputs
遠端快取和執行選項:
--experimental_remote_cache_eviction_retries=<an integer> 預設值:「0」
如果建構遇到遠端快取清除錯誤,重試的次數上限。系統會將非零值設為 true,並將 --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]incompatible_remote_use_new_exit_code_for_lost_inputs 預設值:「true」
如果設為 true,當遠端快取在建構期間清除 blob 時,Bazel 將使用新的結束代碼 39,而非 34。
標記: incompatible_change
其他選項 (未分類):
--[no]allow_analysis_cache_discard 預設值:「true」
如果因為建構系統發生變更而捨棄分析快取,將這個選項設為 false 將導致 bazel 結束,而不是繼續建構。這個選項在「discard_analysis_cache」的值時沒有作用也會設定 Pod
標記: eagerness_to_exit
--[no]build_manual_tests 預設值:「false」
強制將測試目標標記為「手動」要建構的每個 Pod「手動」測試即會排除。這個選項會強制建立 (但不會執行) 這些 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) 測試先前失敗,要求多次執行測試。如果設為「yes」,Bazel 會快取所有測試結果,除了標示為外部的測試以外。如果設為「no」,Bazel 就不會快取任何測試結果。
--[no]compile_one_dependency 預設值:「false」
編譯引數檔案的單一依附元件。這對於在 IDE 中檢查來源檔案的語法很有用,例如重新建構依附來源檔案的單一目標,以便在編輯/建構/測試週期中盡早偵測錯誤。此引數會影響所有非旗標引數的解譯方式;而非建立目標,那就是來源檔案名稱系統會為每個來源檔案名稱建構一個相依的任意目標。
累積 --deleted_packages=<comma-separated list of package names> 次多次使用
逗號分隔的套件名稱清單,建構系統視為不存在的套件,即使它們出現在套件路徑中也一樣。 刪除子套件「x/y」時,請使用這個選項現有套件「x」的描述例如,在用戶端中刪除 x/y/BUILD 後,如果建構系統遇到「//x:y/z」標籤,可能會抱怨還是由另一個 package_path 項目提供該值。指定 --delete_packages x/y 可避免發生這個問題。
--[no]discard_analysis_cache 預設值:「false」
分析階段完成後,請立即捨棄分析快取。記憶體用量降低約 10%,但進一步逐步增量建構作業的速度會變慢。
--execution_log_binary_file=<a path> 預設:查看說明
根據 src/main/protobuf/spawn.proto 所述,將執行產生的結果記錄為長度分隔的 SpawnExec 原型。相關旗標:--execution_log_json_file (文字 JSON 格式;互斥);--execution_log_sort (是否排序執行記錄)、--subcommands (用於在終端機輸出中顯示子指令)。
--execution_log_json_file=<a path> 預設:查看說明
根據 src/main/protobuf/spawn.proto 所述,將執行產生的結果記錄為 SpawnExec 原型的 JSON 表示法 (以換行符號分隔)。相關旗標:--execution_log_binary_file (二進位 protobuf 格式;互斥);--execution_log_sort (是否排序執行記錄檔)、--sub 指令 (用於在終端機輸出中顯示子指令)。
--[no]execution_log_sort 預設值:「true」
是否排序執行記錄,方便比較不同叫用的記錄。設為 false,可避免叫用結束時產生可能大量的 CPU 和記憶體用量,但因為以非確定的執行順序產生記錄可能會產生費用。僅適用於二進位檔和 JSON 格式。密集格式一律不會排序
--[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_outputsloading_and_analysis
--experimental_execution_log_compact_file=<a path> 預設:查看說明
根據 src/main/protobuf/spawn.proto,將執行產生的結果記錄為長度分隔的 ExecLogEntry 通訊協定。整個檔案都經過 zstd 壓縮。這是仍在開發階段的實驗性格式,隨時可能變更。相關旗標:--execution_log_binary_file (二進位 protobuf 格式;互斥);--execution_log_json_file (文字 JSON 格式;可互斥)、--subcommands (用於在終端機輸出中顯示子指令)。
--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_outputsloading_and_analysis
--[no]experimental_generate_llvm_lcov 預設值:「false」
如果設為 true,Clang 的涵蓋率將產生 LCOV 報告。
標記: affects_outputsloading_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 的 deps 取得。目前僅適用於 bazel。
--[no]fetch 預設值:「true」
可讓指令擷取外部依附元件。如果設為 false,指令會使用任何依附元件的快取版本,如果不存在,指令就會失敗。
--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 預設值:「true」
如果設為 true,當測試執行器未指出測試執行器時,必須輕觸 TEST_SHARD_STATUS_FILE 路徑中的檔案,表示支援資料分割。如為 false,則不支援資料分割的測試執行器會啟動每個資料分割中執行的所有測試。
標記: incompatible_change
--[no]incompatible_exclusive_test_sandboxed 預設值:「true」
如果為 true,將使用沙箱策略執行專屬測試。新增「local」強制在本機執行專屬測試的標記
標記: incompatible_change
--[no]incompatible_strict_action_env 預設值:「false」
如果設為 true,Bazel 使用的環境對 PATH 有靜態值,而且不會繼承 LD_LIBRARY_PATH。如要繼承用戶端的特定環境變數,請使用 --action_env=ENV_VARIABLE,但請注意,使用共用快取時,這麼做可以避免跨使用者快取。
標記: loading_and_analysisincompatible_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> 預設值:「」
Java 語言版本
--java_launcher=<a build target label> 預設:查看說明
建構 Java 二進位檔時使用的 Java 啟動器。如果這個旗標設為空白字串,則會使用 JDK 啟動器。「啟動器」屬性會覆寫此標記。
--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 時必須存在於主 dex 中的類別清單。
--local_termination_grace_seconds=<an integer> 預設:「15」
因為逾時和強制關閉本機程序而終止之間的時間長度。
--optimizing_dexer=<a build target label> 預設:查看說明
指定要在不資料分割的情況下進行 DEX 處理的二進位檔。
--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-compiler 的標籤。
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_cc=<a build target label> 預設:"@bazel_tools//tools/proto:cc_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 C++ proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_j2objc=<a build target label> 預設:"@bazel_tools//tools/j2objc:j2objc_proto_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 j2objc proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_java=<a build target label> 預設:"@bazel_tools//tools/proto:java_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 Java proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_javalite=<a build target label> 預設:"@bazel_tools//tools/proto:javalite_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 JavaLite proto
標記: affects_outputsloading_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 伺服器) 上設定 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, disabled or forced=k where k is the number of shards to enforce> 預設值:「煽情露骨內容」
指定測試資料分割策略:「明確」只有在 'shard_count' 已經使用資料分割時具有 BUILD 屬性。「已停用」不必使用測試資料分割「forced=k」強制執行「k」用於測試的資料分割,無論「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> 預設值:「」
用於執行建構期間所需工具的 Java 語言版本
--tool_java_runtime_version=<a string> 預設值:「remotejdk_11」
用於在建構期間執行工具的 Java 執行階段版本
--[no]use_ijars 預設值:「true」
啟用後,這個選項會導致 Java 編譯使用介面 jar 檔案。這樣可以加快漸進式編譯速度,但錯誤訊息可能有所不同。

標準化旗標選項

繼承 build 的所有選項。

顯示在指令之前且由用戶端剖析的選項:
累積 --distdir=<a path> 次多次使用
存取網路下載封存前,可從更多位置搜尋封存內容。
標記: bazel_internal_configuration
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
控制指令輸出的選項:
--[no]canonicalize_policy 預設值:「false」
於展開和篩選後輸出標準政策。為確保輸出內容保持簡潔,當這個選項設為 True 時,系統「不會」顯示標準化指令引數。請注意,--for_command 指定的指令會影響篩選後的政策;如未指定,則預設指令為「build」。
標記: affects_outputsterminal_output
--[no]experimental_include_default_values 預設值:「false」
輸出內容是否包含設為其預設值的 Starlark 選項。
標記: affects_outputsterminal_output
這個選項會影響 Starlark 語言的語意,或是 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案可存取的 Build API。
--[no]incompatible_config_setting_private_default_visibility 預設值:「false」
如果 incompatible_enforce_config_setting_visibility=false,表示這是 noop。此外,如果此標記為 false,則沒有明確瀏覽權限屬性的 config_setting 將會是 //visibility:public。如果這個標記為 true,config_setting 與所有其他規則使用相同的顯示邏輯。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記: loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 預設值:「true」
如果為 true,系統會強制執行 config_setting 瀏覽權限限制。如果值為 False,每個目標都能看到每個 config_setting。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記: loading_and_analysisincompatible_change
與 Bzlmod 輸出和語意相關的選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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_outputsterminal_output
--invocation_policy=<a string> 預設值:「」
將叫用政策套用至要標準化的選項。
標記: affects_outputsterminal_output
遠端快取和執行選項:
--experimental_downloader_config=<a string> 預設:查看說明
指定要用來設定遠端下載程式的檔案。這個檔案包含幾行內容,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面加上主機名稱 (`allow` 和 `block`) 或兩個模式,一個用於比對,另一個則用做替代網址,並從 `$1` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --deleted_packages=<comma-separated list of package names> 次多次使用
逗號分隔的套件名稱清單,建構系統視為不存在的套件,即使它們出現在套件路徑中也一樣。 刪除子套件「x/y」時,請使用這個選項現有套件「x」的描述例如,在用戶端中刪除 x/y/BUILD 後,如果建構系統遇到「//x:y/z」標籤,可能會抱怨還是由另一個 package_path 項目提供該值。指定 --delete_packages x/y 可避免發生這個問題。
--[no]fetch 預設值:「true」
可讓指令擷取外部依附元件。如果設為 false,指令會使用任何依附元件的快取版本,如果不存在,指令就會失敗。
累積 --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
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
控制指令輸出的選項:
--[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
與 Bzlmod 輸出和語意相關的選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --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
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
與 Bzlmod 輸出和語意相關的選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --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
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
與查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise> 預設值:「conservative」
當輸出格式為 {xml,proto,record} 時,如何解析切面依附元件。「關閉」表示未解析任何切面依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,系統會新增所有宣告的切面依附元件這表示只有根據直接依附元件的規則類別,只會新增可能為有效的切面。請注意,如要使用精確模式,必須載入其他套件來評估單一目標,因此速度會低於其他模式。另外也請注意,即使採用的是精確模式,也無法完全精確:決定是否要在分析階段決定計算切面,而這在「bazel 查詢」期間不會執行。
標記: build_file_semantics
--[no]consistent_labels 預設值:「false」
如果啟用,每個查詢指令都會發出標籤,就像使用 Starlark <code>str</code> 一樣函數套用到<code>標籤</code>執行個體。如果工具需要比對不同查詢指令的輸出內容和/或規則發出的標籤,這個功能就相當實用。如未啟用,輸出格式設定器可自由發出明顯的存放區名稱 (相對於主要存放區),讓輸出內容更易讀。
標記: terminal_output
--[no]experimental_explicit_aspects 預設值:「false」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: 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」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: terminal_output
--[no]incompatible_package_group_includes_double_slash 預設值:「true」
啟用後,在輸出 package_group 的 `packages` 屬性時,就不會省略開頭的 `//`。
標記: terminal_outputincompatible_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 結果的列印格式。Cquery 允許的值如下:label、label_Kind、textproto、transforms、proto、streamed_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_attribute_source_aspects 預設值:「false」
以屬性的來源切面填入每個屬性的 source_aspect_name proto 欄位 (如果不是,則為空白字串)。
標記: terminal_output
--[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」
是否在「rule_input」和「rule_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 模式中為每個已設定的目標設定格式。設定的目標會繫結至「target」。如果未指定 --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」的依附元件邊緣會指向通訊協定編譯器,通常指向在建構期間執行的工具,而不是同一個「目標」的一部分計畫。 Cquery:如果停用這項設定,系統會篩除所有已設定的目標,且這些目標會跨越頂層目標,從偵測到這個設定的目標開始轉移。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於 exec 設定中,系統只會傳回 exec 所設定的目標,這個選項「不會」排除已解析的工具鍊。
標記: 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」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --override_repository=<an equals-separated mapping of repository name to path> 次多次使用
以 <repository name>=<path> 的形式覆寫具有本機路徑的存放區。如果指定路徑是絕對路徑,系統會依原樣使用。如果指定路徑是相對路徑,表示該路徑與目前工作目錄相對。如果指定路徑的開頭為「%workspace%」,表示該路徑與工作區根目錄相關,也就是「bazel info workspace」的輸出內容。如果指定路徑為空白,請移除所有先前的覆寫值。
,瞭解如何調查及移除這項存取權。
控制建構執行作業的選項:
是否直接呼叫檔案系統來建立符號連結樹狀結構
標記: loading_and_analysisexecutionexperimental
--[no]experimental_persistent_aar_extractor 預設值:「false」
使用工作站啟用永久 AAR 擷取器。
標記: execution
--[no]experimental_remotable_source_manifests 預設值:「false」
是否讓來源資訊清單動作可回到相同狀態
標記: loading_and_analysisexecutionexperimental
--[no]experimental_split_coverage_postprocessing 預設值:「false」
如果設為 true,Bazel 就會在新新版本中執行涵蓋率後續處理以進行測試。
標記: execution
--[no]experimental_strict_fileset_output 預設值:「false」
啟用這個選項後,檔案集會將所有輸出成果視為一般檔案。不會週遊目錄,或對符號連結敏感。
標記: execution
--[no]incompatible_disallow_unsound_directory_outputs 預設值:「true」
設定後,如果將輸出檔案具體化為目錄,就會發生錯誤。不會影響來源目錄。詳情請參閱 https://github.com/bazelbuild/bazel/issues/18646。
標記: bazel_internal_configurationincompatible_change
--[no]incompatible_modify_execution_info_additive 預設值:「false」
啟用時,傳遞多個 --modify_execution_info 標記屬於累加性質。如果停用這項設定,系統只會將最後一個標記納入考量。
標記: executionaffects_outputsloading_and_analysisincompatible_change
累積 --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」新增「requires-x」查看所有 Genrule 動作的執行資訊 「(?!Genrule).*=-requires-x'移除「requires-x」查看所有非 Genrule 操作的執行資訊
標記: executionaffects_outputsloading_and_analysis
--persistent_android_dex_desugar
使用工作站啟用永久的 Android dex 和脫糖動作。
展開至:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker

--strategy=DexBuilder=worker
標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=AARGenerator=worker
--strategy=ProcessDatabinding=worker
--strategy=GenerateDataBindingBaseClasses=worker
敬上
標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_dex_desugar
使用工作站啟用永久的多重 Android DEX 和脫糖動作。
展開至:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar

標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=+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=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers

標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_tools
啟用永久和多工 Android 工具 (DEX、脫糖、資源處理)。
展開至:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor

--persistent_multiplex_android_dex_desugar
標記: host_machine_resource_optimizationsexecution
--[no]use_target_platform_for_tests 預設值:「false」
如果設為 true,Bazel 會使用目標平台執行測試,而不是測試執行群組。
標記: execution
設定用於執行動作的工具鍊選項:
--android_compiler=<a string> 預設:查看說明
Android 目標編譯器。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 預設值:「//external:android/crosstool」
用於 Android 版本的 C++ 編譯器位置。
標記: affects_outputschanges_inputsloading_and_analysisloses_incremental_state
--android_grte_top=<a label> 預設:查看說明
Android 目標 grte_top。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_manifest_merger=<legacy, android or force_android> 預設:「android」
選取要用於 android_binary 規則的資訊清單合併工具。這個旗標可協助您從舊版合併工具轉換至 Android 資訊清單合併工具。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_platforms=<a build target label> 預設值:「」
設定 android_binary 目標使用的平台。如果指定多個平台,則二進位檔會是笨重的 APK,其中含有每個指定目標平台的原生二進位檔。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_sdk=<a build target label> 預設:"@bazel_tools//tools/android:sdk"
指定 Android SDK/平台,用來建構 Android 應用程式。
標記: changes_inputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
要用於 Apple 和 Objc 規則及其依附元件的 Crosstool 套件標籤。
標記: loses_incremental_statechanges_inputs
--cc_output_directory_tag=<a string> 預設值:「」
指定要新增至設定目錄的後置字串。
標記: affects_outputs
--compiler=<a string> 預設:查看說明
用於編譯目標的 C++ 編譯器。
標記: loading_and_analysisexecution
--coverage_output_generator=<a build target label> 預設值:「@bazel_tools//tools/test:lcov_merger」
用於後置原始涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:lcov_merger」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_report_generator=<a build target label> 預設:"@bazel_tools//tools/test:coverage_report_generator"
用於產生涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:coverage_report_generator」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_support=<a build target label> 預設值:「@bazel_tools//tools/test:coverage_support」
針對每個會收集程式碼涵蓋率的測試動作,輸入所需的支援檔案位置。預設為 '//tools/test:coverage_support'。
標記: changes_inputsaffects_outputsloading_and_analysis
--crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記: loading_and_analysischanges_inputsaffects_outputs
--custom_malloc=<a build target label> 預設:查看說明
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記: changes_inputsaffects_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_include_xcode_execution_requirements 預設值:「false」
如果已設定,請新增「requires-xcode:{version}」每個 Xcode 動作都必須執行。如果 Xcode 版本有連字號標籤,請同時加上「requires-xcode-label:{version_label}」執行需求
標記: loses_incremental_stateloading_and_analysisexecution
--[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> 次多次使用
工具鍊解析時要考量的工具鍊規則。工具鍊可以由精確目標或目標模式指定。系統會先考量這些工具鍊,然後才會在 WORKSPACE 檔案內透過 Register_toolchains() 宣告這些工具鍊。
標記: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 預設:查看說明
已簽到 libc 程式庫的標籤。預設值是由跨工具工具鍊選取,您幾乎不需要覆寫該值。
標記: action_command_linesaffects_outputs
--host_compiler=<a string> 預設:查看說明
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,系統就會忽略這項設定。
標記: loading_and_analysisexecution
--host_crosstool_top=<a build target label> 預設:查看說明
根據預設,--crosstool_top 和 --compiler 選項也能用於 exec 設定。如果您提供這個標記,Bazel 會為指定的 Crosstool_top 使用預設的 libc 和編譯器。
標記: loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 預設:查看說明
指定時,此設定會覆寫 exec 設定的 libc 頂層目錄 (--grte_top)。
標記: action_command_linesaffects_outputs
--host_platform=<a build target label> 預設值:"@bazel_tools//tools:host_platform"
說明主機系統的平台規則標籤。
標記: affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 預設值:「true」
如果設為 true,Bazel 不會啟用「主機」和「nonhost」c++ 工具鍊中的特徵 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7407)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_enable_android_toolchain_resolution 預設值:「true」
使用工具鍊解析度選取 Android SDK for Android 規則 (Starlark 和 native)
標記: loading_and_analysisincompatible_change
--[no]incompatible_enable_apple_toolchain_resolution 預設值:「false」
使用 Toolchain 解析度選取 Apple SDK for apple 規則 (Starlark 和 native)
標記: loading_and_analysisincompatible_change
--[no]incompatible_make_thinlto_command_lines_standalone 預設值:「true」
如果設為 true,Bazel 就不會在 lto 索引指令列中重複使用 C++ 連結動作指令列 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/6791)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_remove_legacy_whole_archive 預設值:「true」
如果設為 true,Bazel 預設不會連結程式庫依附元件完整的封存檔 (如需遷移操作說明,請參閱 https://github.com/bazelbuild/bazel/issues/7362)。
標記: loading_and_analysisincompatible_change
--[no]incompatible_require_ctx_in_configure_features 預設值:「true」
如果設為 true,Bazel 會要求「ctx」參數加到 cc_common.configure_features (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7793)。
標記: loading_and_analysisincompatible_change
--[no]interface_shared_objects 預設值:「true」
如果工具鍊支援介面共用物件,請使用介面共用物件。所有 ELF 工具鍊目前都支援這項設定。
標記: loading_and_analysisaffects_outputsaffects_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_analysisaffects_outputs
--platform_mappings=<a relative path> 預設值:「」
對應檔案所在位置,用於說明在未設定平台時要使用的平台,或是平台已存在時要設定的標記。必須與主要工作區根目錄相關。預設值為「platform_mappings」(在工作區根目錄下直接提供一個檔案)。
標記: affects_outputschanges_inputsloading_and_analysis
--platforms=<a build target label> 預設值:「」
平台規則的標籤,說明目前指令的目標平台。
標記: affects_outputschanges_inputsloading_and_analysis
--python2_path=<a string> 預設:查看說明
已淘汰,免人工管理。已由 `--incompatible_use_python_toolchains` 停用。
標記: no_opdeprecated
--python3_path=<a string> 預設:查看說明
已淘汰,免人工管理。已由 `--incompatible_use_python_toolchains` 停用。
標記: no_opdeprecated
--python_path=<a string> 預設:查看說明
叫用 Python 解譯器的絕對路徑,以便在目標平台上執行 Python 目標。已淘汰;已由 --incompatible_use_python_toolchains 停用。
標記: loading_and_analysisaffects_outputs
--python_top=<a build target label> 預設:查看說明
這個 py_runtime 標籤,代表為了在目標平台上執行 Python 目標而叫用的 Python 解譯器。已淘汰;已由 --incompatible_use_python_toolchains 停用。
標記: loading_and_analysisaffects_outputs
--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 SDK 的版本,用於建構 watchOS 應用程式。如未指定,則會使用「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_config 規則的標籤,用於在建構設定中選取 Xcode 版本。
標記: loses_incremental_stateloading_and_analysis
控制指令輸出的選項:
--[no]apple_generate_dsym 預設值:「false」
是否產生偵錯符號 (.dSYM) 檔案。
標記: affects_outputsaction_command_lines
如果為 true,系統會針對所有目標建構執行檔案符號樹系。如果是 false,請只在需要本機動作、測試或執行指令時寫入。
標記: affects_outputs
--[no]build_runfile_manifests 預設值:「true」
如果為 true,則為所有目標寫入執行檔案資訊清單。如果是 false,請省略。如果為 false,本機測試將無法執行。
標記: affects_outputs
--[no]build_test_dwp 預設值:「false」
啟用後,當您以靜態方式建構 C++ 測試以及透過 FIFT 檢查時,系統也會自動建構測試二進位檔的 .dwp 檔案。
標記: loading_and_analysisaffects_outputs
--cc_proto_library_header_suffixes=<comma-separated set of options> 預設值:「.pb.h」
設定 cc_proto_library 建立的標頭檔案後置字串。
標記: affects_outputsloading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated set of options> 預設值:「.pb.cc」
設定 cc_proto_library 所建立來源檔案的後置字串。
標記: affects_outputsloading_and_analysis
--[no]experimental_proto_descriptor_sets_include_source_info 預設值:「false」
針對 proto_library 中的替代 Java API 版本執行額外動作。
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_proto_extra_actions 預設值:「false」
針對 proto_library 中的替代 Java API 版本執行額外動作。
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_save_feature_state 預設值:「false」
將已啟用和要求的功能狀態儲存為編譯的輸出內容。
標記: affects_outputsexperimental
--fission=<a set of compilation modes> 預設值:「否」
指定哪些編譯模式適用於 C++ 編譯和連結。可以是 {'fastbuild'、'dbg'、'opt'} 的任意組合,或是特殊值「yes」即可啟用所有模式,而 [否]即可停用所有模式
標記: loading_and_analysisaction_command_linesaffects_outputs
--[no]incompatible_always_include_files_in_data 預設值:「true」
如果為 true,原生規則會新增 <code>DefaultInfo.files</code>。資料依附關係,進而符合 Starlark 規則的建議行為 (https://bazel.build/extending/rules#runfiles_features_to_avoid)。
標記: affects_outputsincompatible_change
--[no]legacy_external_runfiles 預設值:「true」
設為 true 時,除了 .runfiles/repo 之外,系統會為 .runfiles/wsname/external/repo 下的外部存放區建構執行檔案符號樹系。
標記: 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_outputsloading_and_analysisloses_incremental_state
--[no]android_databinding_use_androidx 預設值:「true」
產生與 AndroidX 相容的資料繫結檔案。僅供資料繫結 v2 使用。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]android_databinding_use_v3_4_args 預設值:「true」
使用 android databinding v2 搭配 3.4.0 引數。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--android_dynamic_mode=<off, default or fully> 預設值:「停用」
決定當 cc_binary 未明確建立共用程式庫時,是否要以動態方式連結 Android 規則的 C++ 依附元件。「預設」代表 bazel 會選擇是否要動態連結。「完全」代表系統會動態連結所有程式庫「關閉」表示所有程式庫都會以靜態模式建立連結。
標記: affects_outputsloading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency> 預設值:「字母順序」
設定傳遞至 Android 二進位檔資訊清單合併工具的資訊清單順序。ALPHABETICAL 表示資訊清單會依照執行階段的相對路徑排序。ALPHABETICAL_BY_CONFIGURATION 表示資訊清單會根據輸出目錄中的設定目錄相關路徑排序。DEPENDENCY 代表資訊清單的順序,會依照每個程式庫的資訊清單依序出現在其依附元件的資訊清單之前。
標記: action_command_linesexecution
--[no]android_resource_shrinking 預設值:「false」
針對使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記: affects_outputsloading_and_analysis
--[no]build_python_zip 預設值:「auto」
建構 Python 可執行檔 ZIP 檔案;其他平台上的玩家
標記: affects_outputs
圖示
累積 --catalyst_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple Catalyst 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_and_analysis
--[no]collect_code_coverage 預設值:「false」
如有指定,Bazel 會檢測程式碼 (盡可能使用離線檢測功能),並在測試期間收集涵蓋率資訊。只有符合 --instrumentation_filter 的目標會受到影響。通常這個選項不應直接指定 -「Bazel 涵蓋範圍」指令。
標記: affects_outputs
--compilation_mode=<fastbuild, dbg or opt> [-c] 預設值:「Fastbuild」
指定二進位檔的建構模式。值:「fastbuild」、「dbg」、「opt」。
標記: affects_outputsaction_command_lines
累積 --conlyopt=<a string> 次多次使用
編譯 C 來源檔案時傳遞至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
累積 --copt=<a string> 次多次使用
傳遞至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
--cpu=<a string> 預設值:「」
目標 CPU。
標記: changes_inputsaffects_outputs
--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_linesaffects_outputs
累積 --define=<a 'name=value' assignment> 次多次使用
每個 --define 選項都會指定建構變數的指派作業。
標記: changes_inputsaffects_outputs
--dynamic_mode=<off, default or fully> 預設值:「預設」
決定是否動態連結 C++ 二進位檔。「預設」Bazel 就會選擇是否要動態連結「完全」代表系統會動態連結所有程式庫「關閉」表示所有程式庫都會以靜態模式建立連結。
標記: loading_and_analysisaffects_outputs
--[no]enable_fdo_profile_absolute_path 預設值:「true」
如果設定這個項目,使用 fdo_absolute_profile_path 會引發錯誤。
標記: affects_outputs
--[no]enable_runfiles 預設值:「auto」
啟用執行檔案符號連結樹狀結構。在其他平台上,這項設定預設為關閉。
標記: affects_outputs
累積 --experimental_action_listener=<a build target label> 次多次使用
已淘汰,改用切面。使用 action_listener 將 extra_action 附加至現有的建構動作。
標記: executionexperimental
--[no]experimental_android_compress_java_resources 預設值:「false」
壓縮 APK 中的 Java 資源
標記: affects_outputsloading_and_analysisexperimental
--[no]experimental_android_databinding_v2 預設值:「true」
使用 Android Databinding v2。此旗標為免人工管理。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]experimental_android_resource_shrinking 預設值:「false」
針對使用 ProGuard 的 android_binary APK 啟用資源縮減功能。
標記: affects_outputsloading_and_analysis
--[no]experimental_android_rewrite_dexes_with_rex 預設值:「false」
使用 Rex 工具重新編寫 dex 檔案
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[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 和 -fasynchronous-unwind-Table 進行編譯。
標記: action_command_linesaffects_outputsexperimental
--experimental_output_paths=<off, content or strip> 預設值:「停用」
哪個模型要用於輸出樹狀結構規則的何處寫入輸出內容 (尤其是多平台 / 多設定版本)。這項實驗功能相當實驗性詳情請參閱 https://github.com/bazelbuild/bazel/issues/6526。Starlark 動作可以新增「supports-path-mapping」鍵,選擇啟用路徑對應「execution_requirements」。
標記: loses_incremental_statebazel_internal_configurationaffects_outputsexecution
累積 --experimental_override_name_platform_in_output_dir=<a 'label=value' assignment> 次多次使用
每個項目都應採用 label=value 的格式,其中標籤參照平台,而值則是輸出路徑中使用的所需簡稱。只有在 --experimental_platform_in_output_dir 為 true 時才能使用。命名優先順序最高。
標記: affects_outputsexperimental
--[no]experimental_platform_in_output_dir 預設值:「false」
如果設為 true,則輸出目錄名稱會使用目標平台的簡稱,而不會使用 CPU。確切的配置尚在實驗階段,且可能會有變動:首先,在極少數的情況下,--platforms 選項沒有隻有一個值,則會使用平台選項的雜湊值。接下來,如果目前平台的簡稱是由 --experimental_override_name_platform_in_output_dir 註冊,系統會使用該簡稱。接著,如果已設定 --experimental_use_platforms_in_output_dir_legacy_heuristic,則使用以目前平台標籤為基礎的簡稱。最後,如果不得已,就必須使用平台選項的雜湊值。
標記: affects_outputsexperimental
--[no]experimental_use_llvm_covmap 預設值:「false」
如有指定,Bazel 會在啟用 collection_code_coverage 的情況下,產生 llvm-cov 涵蓋範圍地圖資訊,而非 gcov。
標記: changes_inputsaffects_outputsloading_and_analysisexperimental
--[no]experimental_use_platforms_in_output_dir_legacy_heuristic 預設值:「true」
請只在建議的遷移或測試策略中使用這個標記。請注意,經驗法則已知有缺陷,建議您遷移並只依賴 --experimental_override_name_platform_in_output_dir。
標記: affects_outputsexperimental
--fat_apk_cpu=<comma-separated set of options> 預設:「armeabi-v7a」
設定這個選項會啟用笨重的 APK,其中包含所有指定目標架構的原生二進位檔,例如--fat_apk_cpu=x86,armeabi-v7a.如果指定此標記,則系統會針對 android_binary 規則的依附元件忽略 --android_cpu。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]fat_apk_hwasan 預設值:「false」
是否建立 HWASAN 分割。
標記: affects_outputsloading_and_analysisloses_incremental_state
--fdo_instrument=<a string> 預設:查看說明
使用 FDO 檢測產生二進位檔。透過 Clang/LLVM 編譯器,也可接受系統在執行階段傾印原始設定檔時使用的目錄名稱。
標記: affects_outputs
--fdo_optimize=<a string> 預設:查看說明
使用 FDO 設定檔資訊將編譯作業最佳化。請指定含有 .gcda 檔案樹狀結構的 ZIP 檔案名稱、含有自動設定檔的 afdo 檔案,或是 LLVM 設定檔。這個旗標也接受指定為標籤的檔案 (例如 `//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_inputsaffects_outputs
--[no]force_pic 預設值:「false」
啟用後,所有 C++ 編譯都會產生與位置無關的程式碼 (「-fPIC」),連結偏好 PIC 預先建構的程式庫,而非非 PIC 程式庫,而連結則會產生位置獨立的執行檔 (「-pie」)。
標記: loading_and_analysisaffects_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_outputsaction_command_lines
累積 --host_conlyopt=<a string> 次多次使用
在 exec 設定中編譯 C (而非 C++) 來源檔案時,傳遞至 C 編譯器的其他選項。
標記: action_command_linesaffects_outputs
累積 --host_copt=<a string> 次多次使用
針對 exec 設定中建立的工具,傳遞給 C 編譯器的其他選項。
標記: action_command_linesaffects_outputs
--host_cpu=<a string> 預設值:「」
主機 CPU。
標記: changes_inputsaffects_outputs
累積 --host_cxxopt=<a string> 次多次使用
針對在 exec 設定中建構的工具,傳遞至 C++ 編譯器的其他選項。
標記: action_command_linesaffects_outputs
累積 --host_features=<a string> 次多次使用
根據預設,系統會為執行設定中的目標啟用或停用指定的功能。指定 -<feature>會停用這項功能排除功能一律會覆寫正數。
標記: changes_inputsaffects_outputs
--host_force_python=<PY2 or PY3> 預設:查看說明
覆寫 exec 設定的 Python 版本。可以是「PY2」或「PY3」
標記: loading_and_analysisaffects_outputs
累積 --host_linkopt=<a string> 次多次使用
在執行設定中連結工具時,傳送給連接器的其他選項。
標記: action_command_linesaffects_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> 次多次使用
透過 exec 設定編譯特定檔案時,選擇性傳遞至 C/C++ 編譯器的其他選項。這個選項可以多次傳遞。語法:regex_filter@option_1,option_2,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--host_per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0,將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案的 gcc 指令列選項 ( bar.cc 除外)。
標記: action_command_linesaffects_outputs
累積 --host_swiftcopt=<a string> 次多次使用
傳遞至 swiftc 的 exec 工具其他選項。
標記: action_command_linesaffects_outputs
--[no]incompatible_auto_exec_groups 預設值:「false」
啟用後,系統會自動為規則使用的各個工具鍊建立執行群組。如要執行這項動作,必須在其動作中指定「toolchain」參數。詳情請參閱 https://github.com/bazelbuild/bazel/issues/17134。
標記: affects_outputsincompatible_change
--[no]incompatible_merge_genfiles_directory 預設值:「true」
如果為 true,genfiles 目錄會摺疊至 bin 目錄。
標記: affects_outputsincompatible_change
--[no]incompatible_use_host_features 預設值:「true」
設為 true 時,請僅針對目標設定使用 --features,用於 exec 設定則使用 --host_features。
標記: changes_inputsaffects_outputsincompatible_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_stateloading_and_analysis
--[no]legacy_whole_archive 預設值:「true」
已淘汰,並由 --incompatible_remove_legacy_whole_Archive 取代 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/7362)。開啟時,對含有 linkshared=True 且 linkstatic=True 或 '-static' 的 cc_binary 規則使用 --whole-Archive當中的連結這種做法僅適用於回溯相容性。更好的做法是在必要時使用 Alwayslink=1。
標記: action_command_linesaffects_outputsdeprecated
累積 --linkopt=<a string> 次多次使用
連結時傳送至 gcc 的其他選項。
標記: action_command_linesaffects_outputs
累積 --ltobackendopt=<a string> 次多次使用
傳送到 LTO 後端步驟的其他選項 (位於 --features=thin_lto 下)。
標記: action_command_linesaffects_outputs
累積 --ltoindexopt=<a string> 次多次使用
傳送至 LTO 索引步驟的其他選項 (位於 --features=thin_lto 下方)。
標記: action_command_linesaffects_outputs
累積 --macos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple macOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_and_analysis
--macos_minimum_os=<a dotted version (for example '2.3' or '3.3alpha2.4')> 預設:查看說明
目標的相容 macOS 最低版本。如未指定,則會使用「macos_sdk_version」。
標記: loses_incremental_state
--memprof_profile=<a build target label> 預設:查看說明
使用 memprof 設定檔。
標記: affects_outputs
--[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,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單 (另請參閱 --instrumentation_filter)。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--per_file_copt=//foo/.*\.cc,-//foo/bar\.cc@-O0 將 -O0 指令列選項新增至 //foo/ 中所有 cc 檔案的 gcc 指令列選項 ( bar.cc 除外)。
標記: action_command_linesaffects_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,...,option_n。regex_filter 代表包含和排除規則運算式模式的清單。Option_1 到 option_n 代表任意指令列選項。如果選項中包含半形逗號,就必須用反斜線加引號。選項可以包含 @。只有第一個 @ 會用來分割字串。範例:--per_file_ltobackendopt=//foo/.*\.o,-//foo/bar\.o@-O0 將 -O0 指令列選項新增至 //foo/ 中所有檔案的 LTO 後端指令列 ( bar.o 除外)。
標記: action_command_linesaffects_outputs
--platform_suffix=<a string> 預設:查看說明
指定要新增至設定目錄的後置字串。
標記: loses_incremental_stateaffects_outputsloading_and_analysis
--propeller_optimize=<a build target label> 預設:查看說明
使用 Propeller 設定檔資訊,將建構目標最佳化。螺旋器設定檔必須包含至少兩個檔案 (一個 cc 設定檔和一個舊設定檔)。此旗標接受建構標籤,該標籤必須參照依附元件設定檔輸入檔案。例如,定義標籤的 BUILD 檔案必須在 a/b/BUILD:propeller_optimize( name = "propeller_profile", cc_profile = "propeller_cc_profile.txt", ld_profile = "propeller_ld_profile.txt",) 中,必須加入「exports_files」指令,才會在對應的套件中加入「exports_files」指令。這個選項必須使用以下形式:--propeller_optimize=//a/b:propeller_profile
標記: action_command_linesaffects_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
--[no]share_native_deps 預設值:「true」
如果設為 true,包含相同功能的原生資料庫會在不同的目標之間共用
標記: loading_and_analysisaffects_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_linesaffects_outputs
累積 --swiftcopt=<a string> 次多次使用
傳遞至 Swift 編譯的其他選項。
標記: action_command_lines
累積 --tvos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple tvOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_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_stateloading_and_analysis
累積 --watchos_cpus=<comma-separated list of options> 次多次使用
用於建構 Apple watchOS 二進位檔的架構清單 (以半形逗號分隔)。
標記: loses_incremental_stateloading_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_inputsloading_and_analysisexperimental
--[no]check_licenses 預設值:「false」
檢查依附套件設下的授權限制,沒有與所建構目標的發布模式相衝突。根據預設,系統不會勾選授權。
標記: build_file_semantics
--[no]check_visibility 預設值:「true」
如果停用,系統會將目標依附元件中的瀏覽權限錯誤降級為警告。
標記: build_file_semantics
--[no]desugar_for_android 預設值:「true」
是否要在 dex 之前脫糖 Java 8 位元碼。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]desugar_java8_libs 預設值:「false」
是否要在舊版裝置的應用程式中加入支援的 Java 8 程式庫。
標記: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]enforce_constraints 預設值:「true」
檢查每個目標都相容的環境,並在任何目標的依附元件不支援相同環境時回報錯誤
標記: build_file_semantics
圖示
--[no]experimental_check_desugar_deps 預設值:「true」
是否要在 Android 二進位檔層級仔細檢查正確的脫糖程序。
標記: eagerness_to_exitloading_and_analysisexperimental
--experimental_import_deps_checking=<off, warning or error> 預設值:「關閉」
啟用之後,請檢查 aar_import 的依附元件是否已完成。這項強制執行可能會破壞建構作業,或只會導致警告。
標記: loading_and_analysis
--experimental_one_version_enforcement=<off, warning or error> 預設值:「關閉」
啟用後,系統會強制規定 java_binary 規則在類別路徑中不得包含相同類別檔案的多個版本。這項強制執行可能會破壞建構作業,或只會導致警告。
標記: loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default> 預設值:「預設」
如果為 true,則檢查 Java 目標是否明確宣告所有直接使用的目標為依附元件。
標記: build_file_semanticseagerness_to_exit
--[no]incompatible_check_testonly_for_output_files 預設值:「false」
啟用之後,僅會查詢產生規則的測試,僅檢查輸出檔案的先決條件目標是否進行測試。這與檢查瀏覽權限相符。
標記: build_file_semanticsincompatible_change
--[no]incompatible_check_visibility_for_toolchains 預設值:「false」
如果啟用,瀏覽權限檢查功能也會套用至工具鍊實作。
標記: build_file_semanticsincompatible_change
--[no]incompatible_disable_native_android_rules 預設值:「false」
啟用後,系統會停用直接使用原生 Android 規則。請使用 https://github.com/bazelbuild/rules_android 提供的 Starlark Android 規則
標記: eagerness_to_exitincompatible_change
--[no]incompatible_disable_native_apple_binary_rule 預設值:「false」
免人工管理。以維持回溯相容性。
標記: eagerness_to_exitincompatible_change
--[no]incompatible_python_disable_py2 預設值:「true」
如為 true,則使用 Python 2 設定會導致錯誤。包括 python_version=PY2、srcs_version=PY2 和 srcs_version=PY2ONLY。詳情請參閱 https://github.com/bazelbuild/bazel/issues/15684。
標記: loading_and_analysisincompatible_change
--[no]incompatible_validate_top_level_header_inclusions 預設值:「true」
如果為 true,Bazel 也會驗證頂層目錄標頭納入項目 (詳情請參閱 https://github.com/bazelbuild/bazel/issues/10047)。
標記: loading_and_analysisincompatible_change
--[no]one_version_enforcement_on_java_tests 預設值:「true」
啟用時,若將 experiment_one_version_enforcement 設為非 NONE 值,對 java_test 目標強制套用一個版本。您可以停用這個標記,提高漸進式測試成效,但犧牲掉可能違反一個版本的行為。
標記: loading_and_analysis
--python_native_rules_allowlist=<a build target label> 預設:查看說明
強制執行 --incompatible_python_禁止_native_rules 時使用的許可清單 (package_group target)。
標記: loading_and_analysis
--[no]strict_filesets 預設值:「false」
啟用這個選項後,系統會將跨套件邊界的檔案集回報為錯誤。
標記: build_file_semanticseagerness_to_exit
--strict_proto_deps=<off, warn, error, strict or default> 預設值:「error」
除非為關閉,否則檢查 proto_library 目標是否明確宣告所有直接使用的目標為依附元件。
標記: build_file_semanticseagerness_to_exitincompatible_change
--strict_public_imports=<off, warn, error, strict or default> 預設值:「停用」
除非 OFF,否則檢查 proto_library 目標是否明確宣告「import public」中的所有目標匯出。
標記: build_file_semanticseagerness_to_exitincompatible_change
--[no]strict_system_includes 預設值:「false」
如果設為 true,透過系統找到的標頭也必須包含路徑 (-isystem)。
標記: loading_and_analysiseagerness_to_exit
累積 --target_environment=<a build target label> 次多次使用
宣告此建構作業的目標環境。必須是「環境」的標籤參照規則。指定時,所有頂層目標都必須與這個環境相容。
標記: changes_inputs
影響建構的簽署輸出的選項:
--apk_signing_method=<v1, v2, v1_v2 or v4> 預設:「v1_v2」
實作用於簽署 APK
標記: action_command_linesaffects_outputsloading_and_analysis
--[no]device_debug_entitlements 預設值:「true」
如果已設定,且編譯模式不是「最佳化」,objc 應用程式在簽署時就會納入偵錯授權。
標記: changes_inputs
--ios_signing_cert_name=<a string> 預設:查看說明
用於 iOS 簽署的憑證名稱。如未設定,系統會改回佈建設定檔。可以是憑證的鑰匙圈身分偏好設定,或是憑證的通用名稱 (子字串),視編碼符號的手冊所示 (SIGNING IDENTITIES) 而定。
標記: action_command_lines
這個選項會影響 Starlark 語言的語意,或是 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案可存取的 Build API。
--[no]incompatible_disallow_legacy_py_provider 預設值:「true」
免人工管理,很快就會移除。
標記: loading_and_analysisincompatible_change
--[no]incompatible_disallow_sdk_frameworks_attributes 預設值:「false」
如果設為 true,則禁止在 objc_library 和 objc_import 中使用 sdk_frameworks 和 weak_sdk_frameworks 屬性。
標記: build_file_semanticsincompatible_change
如為 true,則將 objc_library 和 objc_import 中的一律連結屬性預設值設為 true。
標記: build_file_semanticsincompatible_change
--[no]incompatible_python_disallow_native_rules 預設值:「false」
若設為 true,使用內建 py_* 規則時會發生錯誤;而是應使用規則_python 規則如需更多資訊和遷移操作說明,請前往 https://github.com/bazelbuild/bazel/issues/17773。
標記: loading_and_analysisincompatible_change
管理測試環境或測試執行工具行為的選項:
--[no]allow_analysis_failures 預設值:「false」
如果設為 true,當分析失敗時,將包含錯誤說明的 AnalysisFailureInfo 例項傳播,而不會導致建構失敗。
標記: loading_and_analysisexperimental
--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_analysisexperimental
累積 --default_test_resources=<a resource name followed by equal and 1 float or 4 float, e.g. memory=10,30,60,100> 次多次使用
覆寫測試的預設資源數量。格式應為 <resource>=<value>。如果將某個正數指定為 <value>該設定會覆寫所有測試大小的預設資源如果指定 4 個以半形逗號分隔的數字,則這些數字會分別覆寫小型、中大型、大型測試大小的資源量。值也可以為 HOST_RAM/HOST_CPU,並可視需要加上 [-|*]<float>(例如 memory=HOST_RAM*.1,HOST_RAM*.2,HOST_RAM*.3,HOST_RAM*.4)。標記中指定的明確資源會覆寫這個標記指定的預設測試資源。
--[no]experimental_android_use_parallel_dex2oat 預設值:「false」
並行使用 dex2oat,可以加快 android_test 的速度。
標記: loading_and_analysishost_machine_resource_optimizationsexperimental
--[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 使用該類別的預設逾時。
--[no]zip_undeclared_test_outputs 預設值:「true」
如為 true,未宣告的測試輸出內容會以 ZIP 檔案封存。
標記: test_runner
與查詢輸出和語意相關的選項:
--aspect_deps=<off, conservative or precise> 預設值:「conservative」
當輸出格式為 {xml,proto,record} 時,如何解析切面依附元件。「關閉」表示未解析任何切面依附元件,「保守」(預設) 表示無論是否指定直接依附元件的規則類別,系統會新增所有宣告的切面依附元件這表示只有根據直接依附元件的規則類別,只會新增可能為有效的切面。請注意,如要使用精確模式,必須載入其他套件來評估單一目標,因此速度會低於其他模式。另外也請注意,即使採用的是精確模式,也無法完全精確:決定是否要在分析階段決定計算切面,而這在「bazel 查詢」期間不會執行。
標記: build_file_semantics
--[no]consistent_labels 預設值:「false」
如果啟用,每個查詢指令都會發出標籤,就像使用 Starlark <code>str</code> 一樣函數套用到<code>標籤</code>執行個體。如果工具需要比對不同查詢指令的輸出內容和/或規則發出的標籤,這個功能就相當實用。如未啟用,輸出格式設定器可自由發出明顯的存放區名稱 (相對於主要存放區),讓輸出內容更易讀。
標記: terminal_output
--[no]experimental_explicit_aspects 預設值:「false」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: 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」
aquery, cquery: 是否要在輸出中納入切面產生的動作。query:免人工管理 (遵循切面)。
標記: terminal_output
--[no]incompatible_package_group_includes_double_slash 預設值:「true」
啟用後,在輸出 package_group 的 `packages` 屬性時,就不會省略開頭的 `//`。
標記: terminal_outputincompatible_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 結果的列印格式。Cquery 允許的值如下:label、label_Kind、textproto、transforms、proto、streamed_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_attribute_source_aspects 預設值:「false」
以屬性的來源切面填入每個屬性的 source_aspect_name proto 欄位 (如果不是,則為空白字串)。
標記: terminal_output
--[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」
是否在「rule_input」和「rule_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 模式中為每個已設定的目標設定格式。設定的目標會繫結至「target」。如果未指定 --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」的依附元件邊緣會指向通訊協定編譯器,通常指向在建構期間執行的工具,而不是同一個「目標」的一部分計畫。 Cquery:如果停用這項設定,系統會篩除所有已設定的目標,且這些目標會跨越頂層目標,從偵測到這個設定的目標開始轉移。也就是說,如果頂層目標位於目標設定中,系統只會傳回目標設定中已設定的目標。如果頂層目標位於 exec 設定中,系統只會傳回 exec 所設定的目標,這個選項「不會」排除已解析的工具鍊。
標記: 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]experimental_filter_library_jar_with_program_jar 預設值:「false」
篩選 ProGuard ProgramJar,移除 LibraryJar 中的所有類別,
標記: action_command_lines
--[no]experimental_inmemory_dotd_files 預設值:「true」
啟用後,C++ .d 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記: loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_inmemory_jdeps_files 預設值:「true」
啟用後,Java 編譯產生的依附元件 (.jdeps) 檔案會直接從遠端建構節點在記憶體中傳遞,而不是寫入磁碟。
標記: loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_objc_include_scanning 預設值:「false」
是否針對目標 C/C++ 執行 include 掃描。
標記: loading_and_analysisexecutionchanges_inputs
--[no]experimental_retain_test_configuration_across_testonly 預設值:「false」
啟用後,--trim_test_configuration 不會針對標示為 testonly=1 的規則裁剪測試設定。這種做法是為了減少非測試規則依賴 cc_test 規則時發生的動作衝突問題。如果 --trim_test_configuration 為 false,則不會產生任何影響。
標記: loading_and_analysisloses_incremental_state
--[no]experimental_starlark_cc_import 預設值:「false」
啟用後,即可使用 cc_import 的 Starlark 版本。
標記: loading_and_analysisexperimental
--[no]experimental_unsupported_and_brittle_include_scanning 預設值:「false」
是否透過剖析輸入檔案中的 #include 行,將輸入範圍縮小到 C/C++ 編譯。這麼做可減少編譯輸入樹狀結構大小,進而提升效能和成效增幅。但也可能破壞建構作業,因為 include 掃描器未完整實作 C 預先處理器語意。特別是,它無法瞭解動態 #include 指令,且會忽略預先處理器的條件邏輯。使用時需自行承擔風險。與此標記相關的任何問題都會結案。
標記: loading_and_analysisexecutionchanges_inputs
--[no]incremental_dexing 預設值:「true」
大部分的工作是分別針對各個 Jar 檔案進行 DEX 處理。
標記: affects_outputsloading_and_analysisloses_incremental_state
--[no]objc_use_dotd_pruning 預設值:「true」
設定後,Clang 產生的 .d 檔案將用於修剪已傳遞至 objc 編譯的輸入組合。
標記: changes_inputsloading_and_analysis
--[no]process_headers_in_dependencies 預設值:「false」
建立目標 //a:a 時,所有 //a:a 取決於目標的作業標頭 (如果工具鍊已啟用標頭處理)。
標記: execution
--[no]trim_test_configuration 預設值:「true」
啟用後,系統會清除版本頂層下方的測試相關選項。這個標記啟用後,系統無法將測試建構為非測試規則的依附元件,但變更測試相關選項時,系統也不會重新分析非測試規則。
標記: loading_and_analysisloses_incremental_state
影響記錄詳細程度、格式或位置的選項:
--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 旗標的簡短名稱。這個 ID 會採用單一鍵/值組合,格式為「<鍵>=<值>」做為引數
標記: 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_outputsincompatible_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_outputsincompatible_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_analysisaffects_outputsincompatible_change
--[no]incompatible_use_python_toolchains 預設值:「true」
如果設為 true,可執行的原生 Python 規則將使用 Python 工具鍊指定的 Python 執行階段,而非使用舊版旗標 (如 --python_top) 指定的執行階段。
標記: loading_and_analysisincompatible_change
--python_version=<PY2 or PY3> 預設:查看說明
Python 主要版本模式,可以是「PY2」或「PY3」。請注意,`py_binary` 和 `py_test` 目標 (即使並未明確指定版本) 會覆寫此屬性,因此通常沒有太多理由提供這項旗標。
標記: loading_and_analysisaffects_outputs
其他選項,未分類。
--[no]cache_test_results [-t] 預設值:「auto」
如果設為「auto」,Bazel 只會在下列情況中重新執行測試:(1) Bazel 偵測到測試或其依附元件中的變更;(2) 將測試標示為外部,(3) 透過 --runs_per_test 或(4) 測試先前失敗,要求多次執行測試。如果設為「yes」,Bazel 會快取所有測試結果,除了標示為外部的測試以外。如果設為「no」,Bazel 就不會快取任何測試結果。
--[no]experimental_cancel_concurrent_tests 預設值:「false」
如果為 true,Blaze 會在第一次成功執行時取消並行執行測試。只有在搭配 --runs_per_test_detects_flakes 使用時才能使用。
標記: affects_outputsloading_and_analysis
--[no]experimental_fetch_all_coverage_outputs 預設值:「false」
如果為 true,Bazel 會在涵蓋率執行期間,擷取每項測試的整個涵蓋率資料目錄。
標記: affects_outputsloading_and_analysis
--[no]experimental_generate_llvm_lcov 預設值:「false」
如果設為 true,Clang 的涵蓋率將產生 LCOV 報告。
標記: affects_outputsloading_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 的 deps 取得。目前僅適用於 bazel。
--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 預設值:「true」
如果設為 true,當測試執行器未指出測試執行器時,必須輕觸 TEST_SHARD_STATUS_FILE 路徑中的檔案,表示支援資料分割。如為 false,則不支援資料分割的測試執行器會啟動每個資料分割中執行的所有測試。
標記: incompatible_change
--[no]incompatible_exclusive_test_sandboxed 預設值:「true」
如果為 true,將使用沙箱策略執行專屬測試。新增「local」強制在本機執行專屬測試的標記
標記: incompatible_change
--[no]incompatible_strict_action_env 預設值:「false」
如果設為 true,Bazel 使用的環境對 PATH 有靜態值,而且不會繼承 LD_LIBRARY_PATH。如要繼承用戶端的特定環境變數,請使用 --action_env=ENV_VARIABLE,但請注意,使用共用快取時,這麼做可以避免跨使用者快取。
標記: loading_and_analysisincompatible_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> 預設值:「」
Java 語言版本
--java_launcher=<a build target label> 預設:查看說明
建構 Java 二進位檔時使用的 Java 啟動器。如果這個旗標設為空白字串,則會使用 JDK 啟動器。「啟動器」屬性會覆寫此標記。
--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 時必須存在於主 dex 中的類別清單。
--optimizing_dexer=<a build target label> 預設:查看說明
指定要在不資料分割的情況下進行 DEX 處理的二進位檔。
累積 --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-compiler 的標籤。
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_cc=<a build target label> 預設:"@bazel_tools//tools/proto:cc_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 C++ proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_j2objc=<a build target label> 預設:"@bazel_tools//tools/j2objc:j2objc_proto_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 j2objc proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_java=<a build target label> 預設:"@bazel_tools//tools/proto:java_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 Java proto
標記: affects_outputsloading_and_analysis
--proto_toolchain_for_javalite=<a build target label> 預設:"@bazel_tools//tools/proto:javalite_toolchain"
proto_lang_toolchain() 標籤,用於說明如何編譯 JavaLite proto
標記: affects_outputsloading_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 伺服器) 上設定 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, disabled or forced=k where k is the number of shards to enforce> 預設值:「煽情露骨內容」
指定測試資料分割策略:「明確」只有在 'shard_count' 已經使用資料分割時具有 BUILD 屬性。「已停用」不必使用測試資料分割「forced=k」強制執行「k」用於測試的資料分割,無論「shard_count」如何BUILD 屬性。
--tool_java_language_version=<a string> 預設值:「」
用於執行建構期間所需工具的 Java 語言版本
--tool_java_runtime_version=<a string> 預設值:「remotejdk_11」
用於在建構期間執行工具的 Java 執行階段版本
--[no]use_ijars 預設值:「true」
啟用後,這個選項會導致 Java 編譯使用介面 jar 檔案。這樣可以加快漸進式編譯速度,但錯誤訊息可能有所不同。

Dump 選項

顯示在指令之前且由用戶端剖析的選項:
累積 --distdir=<a path> 次多次使用
存取網路下載封存前,可從更多位置搜尋封存內容。
標記: bazel_internal_configuration
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
控制指令輸出的選項:
--[no]action_cache 預設值:「false」
傾印動作快取內容。
標記: bazel_monitoring
--[no]packages 預設值:「false」
傾印套件快取內容。
標記: bazel_monitoring
--[no]rule_classes 預設值:「false」
傾印規則類別。
標記: bazel_monitoring
--[no]rules 預設值:「false」
傾印規則,包括計數和記憶體用量 (如果追蹤記憶體)。
標記: bazel_monitoring
--skyframe=<off, summary, count, deps or rdeps> 預設值:「停用」
傾印 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
與 Bzlmod 輸出和語意相關的選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: 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」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[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` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --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
如果設定這個項目,則在快取命中時,存放區快取會強制連結檔案,而非複製。這麼做是為了節省磁碟空間。
標記: bazel_internal_configuration
--experimental_repository_downloader_retries=<an integer> 預設值:「0」
嘗試重試下載錯誤的次數上限。如果設為 0,就會停用重試。
標記: experimental
--experimental_scale_timeouts=<a double> 預設:「1.0」
根據這項係數調整 Starlark 存放區規則中的所有逾時值。這樣一來,就能在不變更原始碼的情況下,在比規則編寫速度更慢的機器上工作。
標記: bazel_internal_configurationexperimental
--http_connector_attempts=<an integer> 預設:「8」
嘗試 http 下載的次數上限。
標記: bazel_internal_configuration
--http_connector_retry_max_timeout=<An immutable length of time.> 預設值:「0 秒」
http 下載重試的逾時時間上限。如果值為 0,則未定義逾時上限。
標記: bazel_internal_configuration
--http_timeout_scaling=<a double> 預設:「1.0」
按照指定係數調整與 http 下載相關的所有逾時
標記: bazel_internal_configuration
圖示
--[no]incompatible_disable_native_repo_rules 預設值:「false」
如果為 false,可以在 WORKSPACE 中使用原生存放區規則;否則就必須改用 Starlark 存放區規則。原生存放區規則包括 local_repository、new_local_repository、local_config_platform、android_sdk_repository 和 android_ndk_repository。
標記: bazel_internal_configuration
--repository_cache=<a path> 預設:查看說明
指定擷取外部存放區時取得的下載值的快取位置。使用空字串要求停用快取,否則將要求停用預設值「<output_user_root>/cache/repos/v1」使用率
標記: bazel_internal_configuration
--[no]repository_disable_download 預設值:「false」
如果已設定,則無法在存放區擷取期間使用 ctx.download{,_and_extract} 下載。請注意,網路存取權不會完全停用;ctx.execute 仍可執行會存取網際網路的任意執行檔。
標記: bazel_internal_configuration
控制建構執行作業的選項:
--[no]all 預設值:「false」
擷取建立任何目標或存放區所需的所有外部存放區。只有在啟用 --enable_bzlmod 時才會運作。
標記: changes_inputs
--gc_thrashing_threshold=<an integer in 0-100 range> 預設:「100」
超過佔用的空間空間百分比 (0-100)。GcThrashingDetector 考量記憶體壓力事件的限制 (--gc_thrashing_limits)。如果設為 100,則會停用 GcThrashingDetector。
標記: host_machine_resource_optimizations
--[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
這個選項會影響 Starlark 語言的語意,或是 BUILD 檔案、.bzl 檔案或 WORKSPACE 檔案可存取的 Build API。
--[no]incompatible_config_setting_private_default_visibility 預設值:「false」
如果 incompatible_enforce_config_setting_visibility=false,表示這是 noop。此外,如果此標記為 false,則沒有明確瀏覽權限屬性的 config_setting 將會是 //visibility:public。如果這個標記為 true,config_setting 與所有其他規則使用相同的顯示邏輯。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12933。
標記: loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 預設值:「true」
如果為 true,系統會強制執行 config_setting 瀏覽權限限制。如果值為 False,每個目標都能看到每個 config_setting。詳情請參閱 https://github.com/bazelbuild/bazel/issues/12932。
標記: loading_and_analysisincompatible_change
與 Bzlmod 輸出和語意相關的選項:
累積 --allow_yanked_versions=<a string> 次多次使用
以 <module1>@<version1>,<module2>@<version2>` 的格式指定模組版本,即使這些模組版本在來源登錄檔中宣告為展現善意,即使這些版本並非來自 NonRegistryOverride,系統也會允許該模組版本。否則,將導致解析失敗。您也可以使用「BZLMOD_ALLOW_YANKED_VERSIONS」環境變數定義允許的變形版本。您可以使用關鍵字「all」停用這項檢查(不建議)。
標記: loading_and_analysis
--check_bazel_compatibility=<error, warning or off> 預設值:「error」
檢查 Bazel 模組的 bazel 版本相容性。有效值是 `error`,可將其提報至解決失敗問題,`off` 則可停用檢查功能;如果偵測到不一致,則為 `warning` 輸出警告。
標記: loading_and_analysis
--check_direct_dependencies=<off, warning or error> 預設值:「warning」
檢查根模組中宣告的直接 `bazel_dep` 依附元件是否與已解析依附元件圖表中的版本相同。有效值為 `off` 來停用檢查,`warning` 會在偵測到不相符時顯示警告,`error` 則會將問題提報給解決失敗。
標記: loading_and_analysis
--[no]configure 預設值:「false」
只擷取標示為「設定」的存放區供系統設定用途只有在啟用 --enable_bzlmod 時才會運作。
標記: changes_inputs
--[no]force 預設值:「false」
忽略現有的存放區 (如果有的話),並強制重新擷取存放區。只有在啟用 --enable_bzlmod 時才會運作。
標記: changes_inputs
--[no]ignore_dev_dependency 預設值:「false」
如果設為 true,Bazel 會忽略根模組 MODULE.bazel 中宣告為「dev_dependency」的「use_extension」。請注意,如果 MODULE.bazel 不是根模組,無論此標記的值為何,系統一律會忽略這些開發依附元件。
標記: loading_and_analysis
--lockfile_mode=<off, update, refresh or error> 預設值:「更新」
指定是否使用 Lockfile,以及是否要使用。有效值為 `update`,以便使用 Lockfile。如有變更,請更新檔案,`refresh` 會不時重新整理遠端註冊資料庫的可變動資訊 (yanked 版本和先前缺少的模組)、`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
累積 --repo=<a string> 次多次使用
只擷取指定的存放區,可以是 {@apparent_repo_name} 或 {@@Standard_repo_name}。只有在啟用 --enable_bzlmod 時才會運作。
標記: changes_inputs
--vendor_dir=<a path> 預設:查看說明
指定應在供應商模式下保留外部存放區的目錄,無論用途是擷取至該存放區,還是在建構時使用。可以指定為絕對路徑或工作區目錄的相對路徑。
標記: loading_and_analysis
觸發建構時間最佳化的選項:
--gc_thrashing_limits=<comma separated pairs of <period>:<count>> 預設:「1s:2,20s:3,1m:5」
如果達到限制,GcThrashingDetector 會使用 OOM 導致 Bazel 當機。每項限制都指定為 <period>:<count>其中,句號為持續時間,而計數則是正整數。如果 <count> 後仍存在超過 --gc_thrashing_threshold% 的長久空間 (舊版堆積)連續 <period> 內連續完成完整的 GC,則會觸發 OOM。您可以指定多個限制,請以半形逗號分隔。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_full_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,當發生完整 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會減少此次數。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示完整的 GC 事件一律不會觸發掉落動作。達到上限後,當發生完整 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_minor_gc_drops_per_invocation=<an integer, >= 0> 預設:「2147483647」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到其保留堆積百分比用量超過 --skyFrame_high_water_mark_threshold 的門檻,在發生輕微 GC 事件時,就會捨棄不必要的臨時 SkyFrame 狀態,每次叫用都會刪除此值。預設值為 Integer.MAX_VALUE;則不受任何限制。「0」表示次要的 GC 事件一律不會觸發掉落動作。達到上限後,當發生小型 GC 事件且超過保留堆積百分比門檻時,SkyFrame 狀態不會再遭到捨棄。
標記: host_machine_resource_optimizations
--skyframe_high_water_mark_threshold=<an integer> 預設:「85」
Bazel 內部 SkyFrame 引擎進階設定的標記。如果 Bazel 偵測到保留的堆積百分比用量至少達到這個門檻,就會捨棄不必要的暫時性 SkyFrame 狀態。調整此方法可減少 GC 輾轉造成的實際時間影響,在以下情形發生時,GC 輾轉現象:(i) 此暫時狀態的記憶體用量造成,以及 (ii) 成本會高於在需要時重組狀態。
標記: host_machine_resource_optimizations
影響記錄詳細程度、格式或位置的選項:
--experimental_command_profile=<cpu, wall, alloc or lock> 預設:查看說明
記錄指令期間的 Java Flight Recorder 設定檔。必須將支援的其中一個剖析事件類型 (CPU、牆、配置或鎖定) 指定為引數。系統會將設定檔寫入在輸出基本目錄底下,以事件類型命名的檔案。日後,這個標記的語法和語意可能會有所變更,以便支援其他設定檔類型或輸出格式。您必須自行承擔使用風險
--[no]experimental_record_metrics_for_all_mnemonics 預設值:「false」
根據預設,動作類型會有最多執行次數最多的 20 種記憶法。設定此選項將會寫入所有記憶的統計資料。
--experimental_repository_resolved_file=<a string> 預設值:「」
如果非空白,請編寫一個 Starlark 值,其中包含所有已執行 Starlark 存放區規則的解析資訊。
標記: affects_outputs
為不屬於其他類別的 Bazel 指令指定或更改一般輸入內容的選項:
--experimental_resolved_file_instead_of_workspace=<a string> 預設值:「」
如果非空白讀取指定的已解析檔案,而非 WORKSPACE 檔案
標記: changes_inputs
圖示
遠端快取與執行選項:
--experimental_downloader_config=<a string> 預設:查看說明
指定要用來設定遠端下載程式的檔案。這個檔案包含幾行內容,每個行的開頭都是指令 (「allow」、「block」或「rewrite」),後面加上主機名稱 (`allow` 和 `block`) 或兩個模式,一個用於比對,另一個則用做替代網址,並從 `$1` 開始為反向參照。同一個網址可能會有多個 `rewrite` 指令,且在這種情況下會傳回多個網址。
--experimental_worker_for_repo_fetching=<off, platform, virtual or auto> 預設值:「auto」
用於擷取存放區的執行緒模式。如果設為「off」,系統就不會使用背景工作執行緒,而且存放區擷取作業將重新啟動。否則,請使用虛擬背景工作執行緒。
,瞭解如何調查及移除這項存取權。
其他選項 (未分類):
累積 --deleted_packages=<comma-separated list of package names> 次多次使用
逗號分隔的套件名稱清單,建構系統視為不存在的套件,即使它們出現在套件路徑中也一樣。 刪除子套件「x/y」時,請使用這個選項現有套件「x」的描述例如,在用戶端中刪除 x/y/BUILD 後,如果建構系統遇到「//x:y/z」標籤,可能會抱怨還是由另一個 package_path 項目提供該值。指定 --delete_packages x/y 可避免發生這個問題。
--[no]fetch 預設值:「true」
可讓指令擷取外部依附元件。如果設為 false,指令會使用任何依附元件的快取版本,如果不存在,指令就會失敗。
累積 --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:」訊息。
,瞭解如何調查及移除這項存取權。
控制建構執行作業的選項:
--[no]all 預設值:「false」
擷取建立任何目標或存放區所需的所有外部存放區。只有在啟用 --enable_bzlmod 時才會運作。
標記: changes_inputs
是否直接呼叫檔案系統來建立符號連結樹狀結構
標記: loading_and_analysisexecutionexperimental
--[no]experimental_persistent_aar_extractor 預設值:「false」
使用工作站啟用永久 AAR 擷取器。
標記: execution
--[no]experimental_remotable_source_manifests 預設值:「false」
是否讓來源資訊清單動作可回到相同狀態
標記: loading_and_analysisexecutionexperimental
--[no]experimental_split_coverage_postprocessing 預設值:「false」
如果設為 true,Bazel 就會在新新版本中執行涵蓋率後續處理以進行測試。
標記: execution
--[no]experimental_strict_fileset_output 預設值:「false」
啟用這個選項後,檔案集會將所有輸出成果視為一般檔案。不會週遊目錄,或對符號連結敏感。
標記: execution
--[no]incompatible_disallow_unsound_directory_outputs 預設值:「true」
設定後,如果將輸出檔案具體化為目錄,就會發生錯誤。不會影響來源目錄。詳情請參閱 https://github.com/bazelbuild/bazel/issues/18646。
標記: bazel_internal_configurationincompatible_change
--[no]incompatible_modify_execution_info_additive 預設值:「false」
啟用時,傳遞多個 --modify_execution_info 標記屬於累加性質。如果停用這項設定,系統只會將最後一個標記納入考量。
標記: executionaffects_outputsloading_and_analysisincompatible_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
累積 --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」新增「requires-x」查看所有 Genrule 動作的執行資訊 「(?!Genrule).*=-requires-x'移除「requires-x」查看所有非 Genrule 操作的執行資訊
標記: executionaffects_outputsloading_and_analysis
--persistent_android_dex_desugar
使用工作站啟用永久的 Android dex 和脫糖動作。
展開至:
--internal_persistent_android_dex_desugar
--strategy=Desugar=worker

--strategy=DexBuilder=worker
標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=worker
--strategy=AndroidResourceMerger=worker
--strategy=AndroidCompiledResourceMerger=worker
--strategy=ManifestMerger=worker
--strategy=AndroidManifestMerger=worker
--strategy=Aapt2Optimize=worker
--strategy=AARGenerator=worker
--strategy=ProcessDatabinding=worker
--strategy=GenerateDataBindingBaseClasses=worker
敬上
標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_dex_desugar
使用工作站啟用永久的多重 Android DEX 和脫糖動作。
展開至:
--persistent_android_dex_desugar
--internal_persistent_multiplex_android_dex_desugar

標記: host_machine_resource_optimizationsexecution
--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=AndroidAssetMerger=+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=AndroidManifestMerger=+supports-multiplex-workers
--modify_execution_info=Aapt2Optimize=+supports-multiplex-workers
--modify_execution_info=AARGenerator=+supports-multiplex-workers

標記: host_machine_resource_optimizationsexecution
--persistent_multiplex_android_tools
啟用永久和多工 Android 工具 (DEX、脫糖、資源處理)。
展開至:
--internal_persistent_multiplex_busybox_tools
--persistent_multiplex_android_resource_processor

--persistent_multiplex_android_dex_desugar
標記: host_machine_resource_optimizationsexecution
--[no]use_target_platform_for_tests 預設值:「false」
如果設為 true,Bazel 會使用目標平台執行測試,而不是測試執行群組。
標記: execution
設定用於執行動作的工具鍊選項:
--android_compiler=<a string> 預設:查看說明
Android 目標編譯器。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 預設值:「//external:android/crosstool」
用於 Android 版本的 C++ 編譯器位置。
標記: affects_outputschanges_inputsloading_and_analysisloses_incremental_state
--android_grte_top=<a label> 預設:查看說明
Android 目標 grte_top。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_manifest_merger=<legacy, android or force_android> 預設:「android」
選取要用於 android_binary 規則的資訊清單合併工具。這個旗標可協助您從舊版合併工具轉換至 Android 資訊清單合併工具。
標記: affects_outputsloading_and_analysisloses_incremental_state
--android_platforms=<a build target label> 預設值:「」
設定 android_binary 目標使用的平台。如果指定多個平台,則二進位檔會是笨重的 APK,其中含有每個指定目標平台的原生二進位檔。
標記: changes_inputsloading_and_analysisloses_incremental_state
--android_sdk=<a build target label> 預設:"@bazel_tools//tools/android:sdk"
指定 Android SDK/平台,用來建構 Android 應用程式。
標記: changes_inputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
要用於 Apple 和 Objc 規則及其依附元件的 Crosstool 套件標籤。
標記: loses_incremental_statechanges_inputs
--cc_output_directory_tag=<a string> 預設值:「」
指定要新增至設定目錄的後置字串。
標記: affects_outputs
--compiler=<a string> 預設:查看說明
用於編譯目標的 C++ 編譯器。
標記: loading_and_analysisexecution
--coverage_output_generator=<a build target label> 預設值:「@bazel_tools//tools/test:lcov_merger」
用於後置原始涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:lcov_merger」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_report_generator=<a build target label> 預設:"@bazel_tools//tools/test:coverage_report_generator"
用於產生涵蓋率報表的二進位位置。目前這必須是內含單一檔案 (二進位檔) 的檔案群組。預設為「//tools/test:coverage_report_generator」。
標記: changes_inputsaffects_outputsloading_and_analysis
--coverage_support=<a build target label> 預設值:「@bazel_tools//tools/test:coverage_support」
針對每個會收集程式碼涵蓋率的測試動作,輸入所需的支援檔案位置。預設為 '//tools/test:coverage_support'。
標記: changes_inputsaffects_outputsloading_and_analysis
--crosstool_top=<a build target label> 預設:"@bazel_tools//tools/cpp:toolchain"
用於編譯 C++ 程式碼的 Crosstool 套件標籤。
標記: loading_and_analysischanges_inputsaffects_outputs
--custom_malloc=<a build target label> 預設:查看說明
指定自訂 Malloc 實作。這項設定會覆寫建構規則中的 Malloc 屬性。
標記: changes_inputsaffects_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_include_xcode_execution_requirements 預設值:「false」
如果已設定,請新增「requires-xcode:{version}」每個 Xcode 動作都必須執行。如果 Xcode 版本有連字號標籤,請同時加上「requires-xcode-label:{version_label}」執行需求
標記: loses_incremental_stateloading_and_analysisexecution
--[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> 次多次使用
工具鍊解析時要考量的工具鍊規則。工具鍊可以由精確目標或目標模式指定。系統會先考量這些工具鍊,然後才會在 WORKSPACE 檔案內透過 Register_toolchains() 宣告這些工具鍊。
標記: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 預設:查看說明
已簽到 libc 程式庫的標籤。預設值是由跨工具工具鍊選取,您幾乎不需要覆寫該值。
標記: action_command_linesaffects_outputs
--host_compiler=<a string> 預設:查看說明
用於主機編譯的 C++ 編譯器。如未設定 --host_crosstool_top,系統就會忽略這項設定。
標記: loading_and_analysisexecution
--host_crosstool_top=<a build target label> 預設:查看說明
根據預設,--crosstool_top 和 --compiler 選項也能用於 exec 設定。如果您提供這個標記,Bazel 會為指定的 Crosstool_top 使用預設的 libc 和編譯器。
標記: loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 預設:查看說明
指定時,此設定會覆寫 exec 設定的 libc 頂層目錄 (--grte_top)。
標記: action_command_linesaffects_outputs
--host_platform=<a build target label> 預設值:"@bazel_tools//tools:host_platform"
說明主機系統的平台規則標籤。
標記: affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 預設值:「true」
如果設為 true,Bazel 不會啟用「主機」和「nonhost」c++ 工具鍊中的特徵 (詳情請參閱 https://github.com/bazelbuild/bazel