命令行参考文档

bazel [<startup options>] <command> [<args>]
bazel [<startup options>] <command> [<args>] -- [<target patterns>]
如需了解目标模式语法,请参阅用户指南

选项语法

可通过不同方式将选项传递给 Bazel。可以通过等号或空格来传递需要值的选项:

--<option>=<value>
--<option> <value>
某些选项具有单个字符的短格式;在这种情况下,短格式必须带有一个短划线和空格。
-<short_form> <value>

布尔值选项可按如下方式启用:

--<option>
--<option>=[true|yes|1]
并按如下方式停用:
--no<option>
--<option>=[false|no|0]

三态选项通常默认设置为自动,并且可以按以下方式强制启用:

--<option>=[true|yes|1]
或强制停用,如下所示:
--no<option>
--<option>=[false|no|0]

命令

analyze-profile 分析 build 配置文件数据。
aquery 分析指定的目标并查询操作图。
build 构建指定的目标。
canonicalize-flags 对 Bazel 选项列表进行规范化。
clean 移除输出文件,并视需要停止服务器。
coverage 为指定的测试目标生成代码覆盖率报告。
cquery 使用配置加载、分析和查询指定的目标。
dump 转储 Bazel 服务器进程的内部状态。
fetch 提取作为目标前提条件的外部代码库。
help 输出命令或索引帮助。
info 显示有关 Bazel 服务器的运行时信息。
license 打印此软件的许可。
mobile-install 将目标安装到移动设备。
print_action 输出用于编译文件的命令行参数。
query 执行依赖项图表查询。
run 运行指定的目标。
shutdown 停止 Bazel 服务器。
sync 同步工作区文件中指定的所有代码库
test 构建并运行指定的测试目标。
version 输出 Bazel 的版本信息。

启动选项

显示在命令之前且由客户端解析的选项:
--[no]autodetect_server_javabase 默认值:"true"
传递 --noautodetect_server_javabase 时,Bazel 不会回退到运行 bazel 服务器的本地 JDK,而是退出。
标记:affects_outputsloses_incremental_state
--[no]batch 默认值:"false”
如果设置此参数,则 Bazel 将作为没有服务器的客户端进程运行,而不是在标准客户端/服务器模式下运行。此 API 已弃用,将被移除。如果您希望不再停留服务器,请明确关闭服务器。
标记:loses_incremental_statebazel_internal_configurationdeprecated
--[no]batch_cpu_scheduling 默认值:"false”
仅适用于 Linux;对于 Blaze,使用 CPU 调度。此政策适用于非交互式但不希望降低其优良价值的工作负载。请参阅男士 2 sched_setscheduler'。如果为 false,则 Bazel 不会执行系统调用。
代码: host_machine_resource_optimizations
--bazelrc=<path> 默认值:查看说明
包含 Bazel 选项默认值的用户 .bazelrc 文件的位置。/dev/null 表示所有后续 `--bazelrc`都将被忽略,这有助于停用搜索用户 RC 文件(例如,在发布 build 中)。 也可以多次指定此选项。 例如,使用 `--bazelrc=x.rc --bazelrc=y.rc --bazelrc=/dev/null --bazelrc=z.rc`, 1) x.rc 和 y.rc 会被读取。 2) 由于之前的 /dev/null,z.rc 会被忽略。 如果未指定,则 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
--[no]expand_configs_in_place 默认值:"true"
更改了 --config 标志的扩展,可在原位完成,而不是在普通的 RC 选项和命令行指定的选项之间进行定点扩展。
标记:no_opdeprecated
--failure_detail_out=<path> 默认值:查看说明
如果设置此参数,那么指定一个位置,以便在服务器遇到故障而无法通过 gRPC 报告故障时写入 fail_detail protobuf 消息。否则,该位置将为 ${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>默认值:"default”
设置在 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 服务器,请参阅 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"
是否查找系统级 Bazelrc。
代码: changes_inputs
--[no]unlimit_coredumps 默认值:"false”
将软 coredump 限制提高到硬限制,以使服务器(包括 JVM)和客户端在常见情况下可以实现 coredump。将此标记留在 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 中查找工作区 bazelrc 文件
代码: changes_inputs
其他类别,未进行分类。
累计使用了 --host_jvm_args=<jvm_arg>
要传递给执行 Blaze 的 JVM 的标志。
--host_jvm_debug
添加一些额外的 JVM 启动标志的便捷选项。启用该标志后,JVM 会在启动期间等待,直到您从符合 JDWP 规范的调试程序(如 Eclipse)连接到端口 5005。
扩展为:
--host_jvm_args=-Xdebug
--host_jvm_args=-Xrunjdwp:transport=dt_socket,server=y,address=5005
--host_jvm_profile=<profiler_name> 默认值:""
添加一些性能分析器/调试程序专用 JVM 启动标志的便捷选项。Bazel 有一个已知值列表,它会映射到硬编码的 JVM 启动标志,并且可能会在某些硬编码路径中搜索某些文件。
--server_javabase=<jvm path> 默认值:""
用于执行 Bazel 本身的 JVM 路径。

所有命令通用的选项

用于控制构建作业的选项:
--experimental_oom_more_eagerly_threshold=<an integer>默认值:"100”
如果此标志设置为小于 100 的值,那么在两个完整 GC' 之后,Bazel 将执行 OOM 操作,只要超过该百分比的(旧一代)堆仍会被占用。
代码: host_machine_resource_optimizations
--experimental_ui_max_stdouterr_bytes=<an integer in (-1)-1073741819 range> 默认值:"1048576"
将输出到控制台的 stdout / stderr 文件的大小上限。-1 表示无限制。
标记: execution
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
累计使用了 --repo_env=<a 'name=value' assignment with an optional value part>
指定仅适用于代码库规则的其他环境变量。请注意,代码库规则无论如何都能查看完整环境,但通过这种方式,配置信息可以通过各种选项传递给代码库,而不会使操作图失效。
标记: action_command_lines
此选项会影响 Starlark 语言或 BUILD 文件、.bzl 文件或 WORKSPACE 文件可访问的 build API 的语义:
--[no]experimental_action_resource_set 默认值:"true"
如果设置为 true,则 ctx.actions.run() 和 ctx.actions.run_shell() 会接受 resource_set 参数,以便在本地执行。否则,将默认为 250 MB 的内存和 1 个 CPU。
标记:executionbuild_file_semanticsexperimental
--[no]experimental_allow_tags_propagation 默认值:"false”
如果设置为 true,则代码将从目标传播到操作执行要求;否则,系统不会传播代码。如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/8830。
标记:build_file_semanticsexperimental
--[no]experimental_cc_shared_library 默认值:"false”
如果设置为 true,规则 cc_shared_library 所需的规则属性和 Starlark API 方法
代码: build_file_semanticsloading_and_analysisexperimental
--[no]experimental_disable_external_package 默认值:"false”
如果设为 true,自动生成的 //external 软件包将不再可用。Bazel 仍然无法解析文件 ('external/BUILD&#39),但 glob 可以处理从未命名软件包访问的外部/。
标记:loading_and_analysisloses_incremental_stateexperimental
--[no]experimental_enable_android_migration_apis 默认值:"false”
如果设置为 true,将启用支持 Android Starlark 迁移所需的 API。
代码: build_file_semantics
--[no]experimental_google_legacy_api 默认值:"false”
如果设置为 true,则公开与 Google 旧版代码相关的大量 Starlark build API。
标记:loading_and_analysisexperimental
--[no]experimental_platforms_api 默认值:"false”
如果设置为 true,可启用多个与平台相关的 Starlark API,这些 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 目录的直接子目录。这样做的副作用是为实际顶层 'external' 目录释放 $output_base/execution_root/__main__/external。
标记:action_command_linesbazel_internal_configurationloading_and_analysisloses_incremental_stateexperimental
--[no]incompatible_always_check_depset_elements 默认值:"true"
在所有构造函数中检查添加到依赖项的元素的有效性。元素必须是不可变的,但以前总是忘记检查 depset(direct=...) 构造函数。在 depset 元素中使用元组而非列表。如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/10313。
标记:build_file_semanticsincompatible_change
如果为 true,Bazel 将不再从 linking_context.library_to_link 返回列表,而是返回分隔符。
标记:loading_and_analysisincompatible_change
--[no]incompatible_disable_managed_directories 默认值:"true"
如果设置为 true,则系统会停用 workspace(managed_ Directories=) 属性。
标记:loading_and_analysisincompatible_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 对象的提供程序的功能。请改用提供程序密钥语法。例如,请使用“ctx.attr.dep[MyInfo]”,而不要使用“ctx.attr.dep.my_info”从规则实现函数内访问“my_info”。如需了解详情,请访问 https://github.com/bazelbuild/bazel/issues/9014。
标记:build_file_semanticsincompatible_change
--[no]incompatible_disable_third_party_license_checking 默认值:"true"
如果为 true,则停用所有许可检查逻辑
标记: build_file_semanticsincompatible_change
--[no]incompatible_disallow_empty_glob 默认值:"false”
如果设置为 true,则 glob() 的“allow_empty”参数的默认值为 False。
标记:build_file_semanticsincompatible_change
--[no]incompatible_disallow_legacy_javainfo 默认值:"true"
已弃用。空操作。
代码: build_file_semanticsincompatible_change
--[no]incompatible_disallow_struct_provider_syntax 默认值:"false”
如果设置为 true,则规则实现函数可能不会返回结构体。而必须返回提供方实例列表。
标记:build_file_semanticsincompatible_change
--[no]incompatible_existing_rules_immutable_view 默认值:"true"
如果设置为 true,native.existing_rule 和 native.existing_rules 会返回轻量级的不可变视图对象,而不是可变字典。
标记:build_file_semanticsloading_and_analysisincompatible_change
--[no]incompatible_java_common_parameters 默认值:"true"
如果设置为 true,pack_sources 中的 output_jar 和 host_javabase 参数以及编译中的 host_javabase 将全部被移除。
标记:build_file_semanticsincompatible_change
--[no]incompatible_linkopts_to_linklibs 默认值:"true"
如果设置为 true,则默认工具链中的默认 linkoptopt 将作为 linklibs 传递,而不是 linkopts 传递给 cc_toolchain_config
标记: action_command_linesincompatible_change
--[no]incompatible_new_actions_api 默认值:"true"
如果设置为 true,则用于创建操作的 API 只能在“ctx.actions”上使用,而不能在“ctx”上使用。
代码: build_file_semanticsincompatible_change
--[no]incompatible_no_attr_license 默认值:"true"
如果将此政策设置为 true,系统会停用“attr.permission”函数。
代码: 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_require_linker_input_cc_api 默认值:"true"
如果设置为 true,规则 create_linking_context 将需要提供 linker_inputs,而不是 library_to_link。linking_context 的旧 getter 也将停用,而仅 linker_inputs 可用。
标记:build_file_semanticsloading_and_analysisincompatible_change
--[no]incompatible_run_shell_command_string 默认值:"true"
如果设置为 true,则 actions.run_shell 的命令参数仅接受字符串
标记: build_file_semanticsincompatible_change
--[no]incompatible_struct_has_no_methods 默认值:"false”
停用结构的 to_json 和 to_proto 结构体方法,污染结构体命名空间。对于 JSON,请使用 json.encode 或 json.encode_缩进,对于 textproto,请使用 proto.encode_text。
标记:build_file_semanticsincompatible_change
--[no]incompatible_top_level_aspects_require_providers 默认值:"false”
如果设置为 true,则顶级元素将遵循其必需的提供程序,并且仅能在规则的规则及通告的提供程序满足相应方面的必需提供程序的顶级目标上运行。
标记: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_visibility_private_attributes_at_definition 默认值:"false”
如果设置为 true,则会根据规则定义(而非规则使用情况)检查专用规则属性的可见性。
标记:build_file_semanticsincompatible_change
--max_computation_steps=<a long integer> 默认值:"0”
构建文件可以执行的 Starlark 计算步骤数上限(零表示无限制)。
代码: build_file_semantics
--nested_set_depth_limit=<an integer>默认值:"3500"
depset 内部的图的最大深度(也称为 NestedSet),depset() 构造函数超过此深度就会失败。
标记: loading_and_analysis
触发构建时间优化的选项:
--[no]incompatible_do_not_split_linking_cmdline 默认值:"true"
如果此字段设为 true,Bazel 将不再修改用于链接的命令行标志,也不会有选择性地确定哪些标志会转到参数文件,哪些标志不会。如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/7670。
标记:loading_and_analysisincompatible_change
--[no]keep_state_after_build 默认值:"true"
如果设为 false,Blaze 会在 build 完成后舍弃此 build 的内存状态。后续构建不会根据此构建有任何增量。
代码: loses_incremental_state
--skyframe_high_water_mark_threshold=<an integer> 默认值:"85"
Bazel' 内部 Skyframe 引擎的高级配置的标志。如果 Bazel 检测到其保留的堆百分比使用情况至少达到此阈值,就会丢弃不必要的临时帧状态。调整这项设置可以缓解 GC 抖动造成的影响,因为 GC 抖动是 (i) 由这种临时状态占用的内存导致的,并且 (ii) 比必要时重构状态的成本更高。
代码: host_machine_resource_optimizations
--[no]track_incremental_state 默认值:"true"
如果设为 false,Blaze 将不会保留允许对增量 build 进行失效和重新评估的数据,以便节省此 build 的内存。后续构建不会针对此构建有任何增量。通常情况下,将此属性设为 false 时需要指定 --batch。
标记: loses_incremental_state
影响日志记录的详尽程度、格式或位置的选项:
--[no]announce_rc 默认值:"false”
是否宣布 RC 选项。
代码: affects_outputs
--[no]attempt_to_print_relative_paths 默认值:"false”
输出消息的位置部分时,尝试使用相对于工作区目录或 --package_path 指定的某个目录的路径。
代码: terminal_output
--bes_backend=<a string> 默认值:""
以 [SCHEME://]HOST[:PORT] 的形式指定构建事件服务 (BES) 后端端点。默认设置为停用 BES 上传。支持的方案为 grpc 和 grpcs(grpc 已启用 TLS)。如果未提供协议,则 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 的实例名称。默认值为 null。
代码: 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_outerr_buffer_size=<an integer> 默认值:"10240"
指定在 BEP 中缓冲的 stdout 或 stderr 的最大大小,然后再将其报告为进度事件。单个写入操作仍会报告为一个事件,即使大于指定的数值(最高可达 --bes_outerr_block_size)。
代码: affects_outputs
--bes_outerr_chunk_size=<an integer> 默认值:"1048576"
指定要在单条消息中发送给 BEP 的 stdout 或 stderr 的大小上限。
代码: affects_outputs
--bes_proxy=<a string> 默认值:查看说明
通过代理连接到 Build Event Service。目前,此标志只能用于配置 Unix 网域套接字 (unix:/path/to/socket)。
--bes_results_url=<a string> 默认值:""
指定基本网址,用户可以在其中查看流式传输到 BES 后端的信息。Bazel 会将调用 ID 附加的网址输出到终端。
代码: terminal_output
--bes_timeout=<An immutable length of time.> 默认值:"0s"
指定在构建和测试完成后 Bazel 应等待多长时间才能使 BES/BEP 上传完成。有效的超时值是一个自然数,后跟一个单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。默认值为 '0',表示没有超时。
代码: affects_outputs
--build_event_binary_file=<a string> 默认值:""
如果非空,则将构建事件协议的表示形式(用变体表示)二进制写入该文件。此选项表示 --bes_upload_mode=wait_for_upload_complete。
代码: affects_outputs
--[no]build_event_binary_file_path_conversion 默认值:"true"
尽可能将构建事件协议的二进制文件表示路径中的 URI 转换为更全球通用的 URI;如果停用此设置,系统始终会使用 file:// URI 架构
标记: affects_outputs
--build_event_json_file=<a string> 默认值:""
如果非空,请将构建事件协议的 JSON 序列化写入该文件。
代码: affects_outputs
--[no]build_event_json_file_path_conversion 默认值:"true"
尽可能将构建事件协议的 json 文件表示形式中的路径转换为更全局有效的 URI;如果停用此设置,系统将始终使用 file:// uri 架构
标记: affects_outputs
--build_event_max_named_set_of_file_entries=<an integer> 默认值:"-1”
单个 name_set_of_files 事件的最大条目数;小于 2 的值将被忽略,并且不执行任何事件拆分。此属性旨在限制构建事件协议中的事件大小上限,不过它不会直接控制事件大小。事件总大小是集合结构以及文件和 URI 长度的函数,这反过来也取决于哈希函数。
代码: affects_outputs
--[no]build_event_publish_all_actions 默认值:"false”
是否应发布所有操作。
代码: affects_outputs
--build_event_text_file=<a string> 默认值:""
如果非空,请将构建事件协议的文本表示形式写入该文件
标记: affects_outputs
--[no]build_event_text_file_path_conversion 默认值:"true"
尽可能将构建事件协议的文本文件表示路径转换为更全球通用的 URI;如果停用此设置,系统将始终使用 file:// URI 架构
标记: affects_outputs
--[no]experimental_announce_profile_path 默认值:"false”
如果启用,则将 JSON 配置文件路径添加到日志中。
标记:affects_outputsbazel_monitoring
--[no]experimental_bep_target_summary 默认值:"false”
是否发布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets 默认值:"false”
如果为 true,请在呈现输出文件时展开 BEP 中的文件集。
代码: affects_outputs
如果为 true,则在呈现输出文件时完全解析 BEP 中的相对文件集符号链接。需要 --experimental_build_event_expand_filesets。
代码: affects_outputs
--experimental_build_event_upload_strategy=<a string> 默认值:查看说明
选择如何上传构建事件协议中引用的工件。
代码: affects_outputs
累计使用了 --experimental_profile_additional_tasks=<phase, action, action_check, action_lock, action_release, action_update, action_complete, info, create_package, remote_execution, local_execution, scanner, local_parse, upload_time, process_time, remote_queue, remote_setup, fetch, vfs_stat, vfs_dir, vfs_readlink, vfs_md5, vfs_xattr, vfs_delete, vfs_open, vfs_read, vfs_write, vfs_glob, vfs_vmfs_stat, vfs_vmfs_dir, vfs_vmfs_read, wait, thread_name, thread_sort_index, skyframe_eval, skyfunction, critical_path, critical_path_component, handle_gc_notification, action_counts, local_cpu_usage, system_cpu_usage, local_memory_usage, system_memory_usage, 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 or unknown>
指定配置文件中包含的其他配置文件任务。
标记:affects_outputsbazel_monitoring
--[no]experimental_profile_include_primary_output 默认值:"false”
在操作事件(包括操作的主要输出的执行路径)中包含额外的“out”属性。
标记:affects_outputsbazel_monitoring
--[no]experimental_profile_include_target_label 默认值:"false”
在操作事件和 JSON 配置文件数据中加入目标标签。
标记:affects_outputsbazel_monitoring
--[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 会针对所有类似 build 的命令和查询编写配置文件。
标记:affects_outputsbazel_monitoring
--[no]heap_dump_on_oom 默认值:"false”
是否在抛出 OOM 时手动输出堆转储(包括因 --experimental_oom_more_eagerly_threshold 而导致的 OOM)。转储将写入 <output_base>/<invocation_id>.heapdump.hprof。此选项实际取代了 -XX:+HeapDumpOnOutOfMemoryError,这不起作用,因为 OOM 被捕获并重定向到 Runtime#halt。
代码: bazel_monitoring
--[no]legacy_important_outputs 默认值:"true"
使用此参数可禁止在 TargetComplete 事件中生成旧版的重要数据输出字段。重要的是 Bazel 到 ResultStore 的集成。
代码: affects_outputs
--logging=<0 <= an integer <= 6> 默认值:"3”
日志记录级别。
代码: affects_outputs
--memory_profile_stable_heap_parameters=<two integers, separated by a comma> 默认值:"1,0”
调整构建结束时稳定堆的内存计算。此值应为两个以英文逗号分隔。第一个参数是要执行的 GC 数。第二个参数是 GC 之间等待的秒数。
代码: bazel_monitoring
--profile=<a path> 默认值:查看说明
如果设置此参数,请剖析 Bazel 的性能,并将数据写入指定的文件。使用 bazelanalyze-profile 分析配置文件。
标记:affects_outputsbazel_monitoring
--[no]slim_profile 默认值:"true"
如果 JSON 配置文件过大,可以通过合并事件来精简 JSON 配置文件的大小。
标记:affects_outputsbazel_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>
指定要在界面中显示哪些事件。可以使用前导 +/- 在默认事件中添加或移除事件,也可以通过直接分配完全覆盖默认值。支持的事件种类包括 INFO、DEBUG、ERROR 等。
标记: terminal_output
其他选项,未进行分类。
--all_incompatible_changes
正在移除空操作。请参阅 https://github.com/bazelbuild/bazel/issues/13892
代码: no_opincompatible_change
累计使用了 --build_metadata=<a 'name=value' assignment>
要在构建事件中提供的自定义键值对字符串。
代码: terminal_output
--color=<yes, no or auto>默认值:"auto”
使用终端控件着色输出。
累计使用了 --config=<a string>
从 RC 文件中选择其他配置部分;对于每个 <command>,系统还会从 <command>:<config> 提取(如果此部分存在的话);如果任何 .rc 文件中都不存在此部分,Blaze 就会失败并显示错误。它们对应的配置部分和标志组合位于 tools/*.blazerc 配置文件中。
--curses=<yes, no or auto>默认值:"auto”
使用终端光标控件可以最大限度地减少滚动输出。
--[no]enable_platform_specific_config 默认值:"false”
如果为 true,则 Bazel 会从 bazelrc 文件中提取主机操作系统专属的配置行。例如,如果主机操作系统是 Linux,并且您运行了 bazel 构建,则 Bazel 会选择以 build:linux 开头的行。支持的操作系统标识符包括 Linux、macos、windows、freebsd 和 openbsd。启用此标记相当于在 Linux 上使用 --config=linux,在 Windows 上使用 --config=windows 等。
--[no]experimental_windows_watchfs 默认值:"false”
如果为 true,则会启用对 --watchfs 的实验性 Windows 支持。否则,--watchfs 是 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 连接配置 keep-alive ping。如果设置了此选项,则 Bazel 会在连接未执行任何操作的情况下发送 ping,但仅当存在至少一个待处理的 gRPC 调用时。时间被视为第二粒度;设置的小于 1 秒是错误的。默认情况下, keep-alive ping 处于停用状态。启用此设置之前,您应与服务所有者协调。
--grpc_keepalive_timeout=<An immutable length of time.> 默认值:"20s"
配置传出 gRPC 连接的持久连接超时。如果使用 --grpc_keepalive_time 启用了 keep-alive ping,并且此时间过久仍未收到 ping 回复,则 Bazel 会超时。时间被视为第二粒度;设置的小于 1 秒是错误的。如果停用 keep-alive ping,则会忽略此设置。
--[no]progress_in_terminal_title 默认值:"false”
在终端标题中显示命令进度。这有助于了解使用多个终端标签页时 Bazel 的作用。
--[no]show_progress 默认值:"true"
在构建期间显示进度消息。
--show_progress_rate_limit=<a double> 默认值:"0.2"
输出中进度消息之间的最少秒数。
--[no]show_timestamps 默认值:"false”
在消息中添加时间戳
--tls_certificate=<a string> 默认值:查看说明
指定信任为服务器证书签名的 TLS 证书的路径。
--tls_client_certificate=<a string> 默认值:查看说明
指定要使用的 TLS 客户端证书;您还需要提供客户端证书以启用客户端身份验证。
--tls_client_key=<a string> 默认值:查看说明
指定要使用的 TLS 客户端密钥;您还需要提供客户端证书才能启用客户端身份验证。
--ui_actions_shown=<an integer> 默认值:"8”
详细进度条中显示的并发操作数;每个操作都单独占用一行。进度条会始终显示至少一个(小于 1 的所有数字)都会映射到 1。
代码: terminal_output
--[no]watchfs 默认值:"false”
在 Linux/macOS 上:如果设置为 true,bazel 会尝试使用操作系统的文件监控服务来执行本地更改,而不是扫描每个文件来查找更改。在 Windows 上:此标志目前为非操作,但可与 --experimental_windows_watchfs 结合使用。在任何操作系统上:如果您的工作区位于网络文件系统上,并且文件在远程计算机上修改,那么该行为就是未定义的。

分析配置文件选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--dump=<text or raw> [-d] 默认值:查看说明
以简单易懂的格式或适合脚本的原始格式输出完整的配置文件数据转储。
代码: affects_outputs
--[no]experimental_record_metrics_for_all_mnemonics 默认值:"false”
默认情况下,操作类型的数量上限为执行操作数量最多的 20 个助记符。设置此选项将写入所有助记符的统计信息。
用于指定或更改 Bazel 命令通用输入(不属于其他类别)的选项:
--experimental_resolved_file_instead_of_workspace=<a string> 默认值:""
如果非空读取指定的解析文件,而非 WORKSPACE 文件
代码: changes_inputs
远程缓存和执行选项:
--experimental_downloader_config=<a string> 默认值:查看说明
指定用于配置远程下载器的文件。此文件由多个行组成,每行都以指令(“allow”、“block”或“rewrite”)开头,后跟主机名(`allow` 和 `block`)或两种模式(一种为匹配项,另一种用作替代网址,反向引用从 `$1` 开始)。系统可能会针对同一网址提供多个 `rewrite` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

查询选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
标记: no_opdeprecatedexperimental
与查询输出和语义相关的选项:
--aspect_deps=<off, conservative or precise> 默认值:“保守型”
如果输出格式是 {xml,proto,record} 之一,如何解析宽高比依赖项。'off' 表示系统不会解析任何宽高比依赖项(默认值),表示所有已声明的宽高比依赖项都会被添加,无论它们是否被赋予了直接依赖项的规则类;'precise' 表示系统只会添加那些可能属于直接依赖项规则类别的方面。请注意,精确模式需要加载其他软件包来评估单个目标,因此它会比其他模式慢。另请注意,即使是精确模式,也并非完全精确:是否在计算阶段决定是否计算某个方面,此期间不会在“ Bazel 查询”期间运行。
代码: build_file_semantics
--[no]deduplicate_depsets 默认值:"true"
最终 proto/textproto/json 输出中 dep_set_of_files 的非叶子项的重复信息。此操作不会删除没有直接父项的重复项。这不会影响操作的最终有效输入工件列表。
代码: terminal_output
--[no]graph:factored 默认值:"true"
如果为 true,则发出图表并执行“因式分解”操作,也就是说,合并等效的节点并将其合并在一起。此选项仅适用于 --output=graph。
代码: terminal_output
--graph:node_limit=<an integer> 默认值:"512"
输出中图表节点的标签字符串的最大长度。较长的标签会被截断;-1 表示不会截断。此选项仅适用于 --output=graph。
代码: terminal_output
--[no]implicit_deps 默认值:"true"
启用后,隐式依赖项将包含在执行查询的依赖项图表中。隐式依赖项是在 BUILD 文件中明确指定的,但由 bazel 添加。对于 cquery,此选项用于控制过滤已解析的工具链。
代码: build_file_semantics
--[no]include_artifacts 默认值:"true"
在输出中包含操作输入和输出的名称(可能很大)。
代码: terminal_output
--[no]include_aspects 默认值:"true"
aquery、cquery:是否在输出中包含宽高比生成的操作。query: no-op(始终遵循规范)。
代码: terminal_output
--[no]include_commandline 默认值:"true"
在输出中包含操作命令行的内容(可能很大)。
代码: terminal_output
--[no]include_param_files 默认值:"false”
添加命令中使用的参数文件的内容(可能很大)。注意:启用此标志会自动启用 --include_commandline 标志。
代码: terminal_output
--[no]incompatible_display_source_file_location 默认值:"true"
默认情况下为 true,显示源文件的目标。如果为 true,则在位置输出中显示源文件第 1 行的位置。此标志仅用于迁移目的。
标记:terminal_outputincompatible_change
--[no]infer_universe_scope 默认值:"false”
如果设置此参数并且未设置 --universe_scope,则系统会将 --universe_scope 的值推断为查询表达式中的唯一目标模式的列表。请注意,针对使用 Universe 范围函数(例如 `allrdeps`)的查询表达式推断的 --universe_scope 值可能不是您想要的,因此只有在您知道自己要执行的操作时,才应使用此选项。如需了解详情和示例,请参阅 https://bazel.build/versions/reference/query#sky-query。如果设置了 --universe_scope,则忽略此选项的值。注意:此选项仅适用于“查询”(即不适用于“cquery”)。
标记: loading_and_analysis
--[no]line_terminator_null 默认值:"false”
各种格式是否都以 \0 而不是换行符结尾。
代码: terminal_output
--[no]nodep_deps 默认值:"true"
如果启用,来自“nodep”属性的依赖项将包含在执行查询的依赖项关系图中。“nodep”属性的一个常见示例是 " visibility"。运行并解析“info build-language”的输出,了解 build 语言中的所有“nodep”属性。
代码: build_file_semantics
--output=<a string> 默认值:"text"
查询结果应采用的格式。查询允许的值为:text、textproto、proto、jsonproto。
代码: terminal_output
--[no]proto:default_values 默认值:"true"
如果为 true,则未在 Build 文件中明确指定其值的属性;否则会忽略这些属性。此选项适用于 --output=proto
标记:terminal_output
--[no]proto:definition_stack 默认值:"false”
填充 define_stack proto 字段,该字段为每条规则实例在定义规则的类时记录 Starlark 调用堆栈。
代码: terminal_output
--[no]proto:flatten_selects 默认值:"true"
启用后,系统会对通过 select() 创建的可配置属性进行扁平化处理。对于列表类型,扁平化表示是一个列表,其中包含所选映射的每个值仅一次。标量类型展平为 null。
代码: build_file_semantics
--[no]proto:include_synthetic_attribute_hash 默认值:"false”
是否计算并填充 $internal_attr_hash 属性。
代码: terminal_output
--[no]proto:instantiation_stack 默认值:"false”
填充每条规则的实例化调用堆栈。请注意,这要求存在堆栈
标记:terminal_output
--[no]proto:locations 默认值:"true"
是否要在 proto 输出中输出位置信息。
代码: terminal_output
--proto:output_rule_attrs=<comma-separated list of options>默认值:"all"
要包含在输出中的特性列表(以英文逗号分隔)。默认为所有属性。设置为空字符串不会输出任何属性。此选项适用于 --output=proto。
代码: terminal_output
--[no]proto:rule_inputs_and_outputs 默认值:"true"
是否填充规则_输入和规则输出字段。
代码: terminal_output
--[no]relative_locations 默认值:"false”
如果为 true,build 文件在 xml 和 proto 输出中的位置将是相对位置。默认情况下,位置输出是绝对路径,在各台计算机上不一致。您可以将此选项设置为 true,以便在多台计算机上获得一致的结果。
代码: terminal_output
--[no]skyframe_state 默认值:"false”
在不执行额外分析的情况下,从 Skyframe 中转储当前的操作图。注意:目前不支持使用 --skyframe_state 指定目标。此标志仅适用于 --output=proto 或 --output=textproto。
代码: terminal_output
--[no]tool_deps 默认值:"true"
查询:如果停用此设置,则对主机配置的依赖项将不会包含在执行查询的依赖项关系图中。主机配置依赖项(例如来自任何 proto_library&协议编译器规则的依赖项)通常指向在构建期间执行的工具,而不是同一目标程序的一部分。{0}{/1} Cquery:停用时,从发现此配置目标的顶级目标中,过滤掉跨主机或执行过渡的所有已配置目标。这意味着,如果顶级目标位于目标配置中,则仅返回目标配置中配置的目标。如果顶级目标在主机配置中,则仅返回主机配置的目标。此选项不会排除已解析的工具链。
代码: build_file_semantics
--universe_scope=<comma-separated list of options> 默认值:""
一系列以英文逗号分隔的目标值(累加和递减)。查询可以按照指定目标的传递关闭定义的宇宙执行。此选项用于查询和 cquery 命令。对于 cquery,此选项的输入是所有答案的构建目标,因此该选项可能会影响配置和转换。如果未指定该选项,则假定顶级目标是从查询表达式解析的目标。注意:对于 cquery,如果无法通过顶级选项从查询表达式中解析的目标进行构建,那么不指定此选项可能会导致构建中断。
标记: loading_and_analysis
影响日志记录的详尽程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
用于控制构建执行的选项:
是否要直接文件系统调用来创建符号链接树
代码: loading_and_analysisexecutionexperimental
--[no]experimental_remotable_source_manifests 默认值:"false”
是否让源清单操作可恢复
代码: loading_and_analysisexecutionexperimental
--[no]experimental_split_coverage_postprocessing 默认值:"false”
如果为 true,则 Bazel 将在新 build 中运行覆盖率后处理以进行测试。
代码: execution
--[no]experimental_strict_fileset_output 默认值:"false”
如果启用此选项,文件集会将所有输出工件视为常规文件。它们不会遍历目录或对符号链接敏感。
代码: execution
--modify_execution_info=<regex=[+-]key,regex=[+-]key,...> 默认值:""
根据操作助记符在操作执行信息中添加或移除键。仅适用于支持执行信息的操作。许多常见的操作都支持执行信息,例如 Genrule、CppCompile、Javac、StarlarkAction、TestRunner。指定多个值时,顺序很重要,因为许多正则表达式可能适用于同一助记符。 语法:"regex=[+-]key,regex=[+-]key,..."。 示例:'.*=+x,.*=-y,.*=+z' 添加 'x' 以及 'z' 以及从所有操作的执行信息中移除 'y'。'Genrule=+required-x','required-x' 会添加到所有 Genrule 操作的执行信息中。'(?!Genrule)*。
标记:executionaffects_outputsloading_and_analysis
--persistent_android_resource_processor
使用工作器启用永久性 Android 资源处理器。
--strategy=ManifestMerger=worker
--android_compiler=<a string> 默认值:查看说明
Android 目标编译器。
标记:affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 默认值:"//external:android/crosstool"
用于 Android build 的 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 应用的 Android SDK/平台。
标记:changes_inputsloading_and_analysisloses_incremental_state
--apple_compiler=<a string> 默认值:查看说明
Apple 目标编译器。用于选择工具链的变体(例如 xcode-beta)。
标记:affects_outputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 默认值:"@bazel_tools//tools/cpp:工具链"
要在 Apple 和 Objc 规则及其依赖项中使用的 crosstool 软件包的标签。
标记:loses_incremental_statechanges_inputs
--apple_grte_top=<a build target label> 默认值:查看说明
Apple 目标 grte_top。
标记:changes_inputsloading_and_analysisloses_incremental_state
--cc_output_directory_tag=<a string> 默认值:""
指定要添加到配置目录中的后缀。
标记:affects_outputsexplicit_in_output_path
--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:工具链"
用于编译 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 will add 'x86_64' to any target under the //demo 网页版除外。
代码: loading_and_analysis
--[no]experimental_enable_objc_cc_deps 默认值:"true"
允许 objc_* 规则依赖 cc_library,并使任何 objc 依赖项在编译时都使用 --cpu 设置为 "ios_<--ios_cpu>" 以便 --ios_multi_cpu 中的所有值。
标记:loading_and_analysisincompatible_change
--[no]experimental_include_xcode_execution_requirements 默认值:"false”
如果设置了此标记,则需要为每个 Xcode 操作添加一项“require-xcode:{version}”的执行要求。如果 Xcode 版本具有连字符,则还需要添加“require-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_execute_platforms() 在 WORKSPACE 文件中声明。
标记: execution
累计使用了 --extra_toolchains=<comma-separated list of options>
解析工具链期间要考虑的工具链规则。工具链可以按照确切的目标进行指定,也可以指定为目标模式。这些工具链会先于寄存器在 WORKSPACE 文件内声明,才会被注册。
标记: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 默认值:查看说明
已签入的 libc 库的标签。默认值由 crosstool 工具链选择,而且您几乎不需要替换它。
标记: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 选项也用于主机配置。如果提供此标志,则 Bazel 会使用给定 crosstool_top 的默认 libc 和编译器。
标记:loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 默认值:查看说明
如果指定,此设置会覆盖主机配置的 libc 顶级目录 (--grte_top)。
标记:action_command_linesaffects_outputs
--host_platform=<a build target label> 默认值:""
描述主机系统的平台规则的标签。
标记:affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_disable_expand_if_all_available_in_flag_set 默认值:"true"
如果为 true,则 Bazel 将不允许在 flag_sets 中指定 expand_if_all_available(有关迁移说明,请参阅 https://github.com/bazelbuild/bazel/issues/7008)。
标记:loading_and_analysisincompatible_change
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 默认值:"true"
如果为 true,则 Bazel 将不会在 c++ 工具链中启用 'host' 和 'nonhost' 功能(如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/7407)。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enable_android_toolchain_resolution 默认值:"false”
使用工具链解析选择 Android 版 Android SDK 规则(Starlark 和原生)
代码: loading_and_analysisincompatible_change
--[no]incompatible_enable_apple_toolchain_resolution 默认值:"false”
使用工具链解析技术选择 Apple SDK for Apple 规则(Starlark 和原生)
代码: 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_cpu_and_compiler_attributes_from_cc_toolchain 默认值:"true"
如果为 true,则在设置 cc_toolchain.cpu 和 cc_工具链.compiler 属性时,Bazel 会指出错误(请参阅 https://github.com/bazelbuild/bazel/issues/7075,了解迁移说明)。
标记: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> 默认值:查看说明
您的编译适配的最低操作系统版本。
标记: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> 默认值:查看说明
表示在目标平台上运行 Python 目标的 Python 解释器的 py_runtime 标签。已弃用;已被 --incompatible_use_python_toolchains 停用。
标记:loading_and_analysisaffects_outputs
--target_platform_fallback=<a build target label> 默认值:"@local_config_platform//:host"
如果未设置目标平台且没有平台映射与当前的一组标记匹配,则应使用的平台规则的标签。
标记:affects_outputschanges_inputsloading_and_analysis
--tvos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
指定用于构建 tvOS 应用的 tvOS SDK 版本。如果未指定,则使用默认 'xcode_version' 的 tvOS SDK 版本。
代码: loses_incremental_state
--watchos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
指定用于构建 watchOS 应用的 watchOS SDK 版本。如果未指定,则使用 'xcode_version' 中的默认 watchOS SDK 版本。
代码: loses_incremental_state
--xcode_version=<a string> 默认值:查看说明
如果指定,则使用指定版本的 Xcode 进行相关构建操作。如果未指定,则使用 Xcode 的执行程序默认版本。
代码: loses_incremental_state
--xcode_version_config=<a build target label> 默认值:"@bazel_tools//tools/cpp:host_xcodes"
用于在构建配置中选择 Xcode 版本的 xcode_config 规则的标签。
标记:loses_incremental_stateloading_and_analysis
用于控制命令输出的选项:
--[no]apple_enable_auto_dsym_dbg 默认值:"false”
是否强制启用 dbg build 的调试符号 (.dSYM) 文件。
标记:affects_outputsaction_command_lines
--[no]apple_generate_dsym 默认值:"false”
是否生成调试符号 (.dSYM) 文件。
标记:affects_outputsaction_command_lines
如果为 true,则为所有目标构建 Runfile 符号链接林。如果为 false,则尽可能只写入清单。
代码: affects_outputs
--[no]build_runfile_manifests 默认值:"true"
如果为 true,则为所有目标写入 Runfile 清单。如果为 false,请省略这些标记。如果值为 false,本地测试将无法运行。
代码: affects_outputs
--[no]build_test_dwp 默认值:"false”
如果启用了此选项,当以静态方式构建 C++ 测试时,将使用 ddp 文件为测试二进制文件自动构建。
标记:loading_and_analysisaffects_outputs
--cc_proto_library_header_suffixes=<comma-separated list of options> 默认值:".pb.h"
设置 cc_proto_library 创建的头文件的前缀。
标记:affects_outputsloading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated list 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>默认值:"no>
指定哪些编译模式可用于 C++ 编译和链接。可以是 {'fastbuild', 'dbg', 'opt'} 的任何特殊组合,也可以是特殊值 'yes' 以启用所有模式,而 ##39;no' 可以停用所有模式。
标记:loading_and_analysisaction_command_linesaffects_outputs
--[no]legacy_external_runfiles 默认值:"true"
如果为 true,则在 .runfiles/wsname/external/repo 下(以及 .runfiles/repo 下)为外部代码库构建 runfiles 符号链接林。
代码: affects_outputs
--[no]objc_generate_linkmap 默认值:"false”
指定是否生成链接映射文件。
代码: affects_outputs
--[no]save_temps 默认值:"false”
设置后,系统会保存 gcc 中的临时输出。其中包括 .s 文件(汇编代码)、.i 文件(经过预处理的 C)和 .ii 文件(经过预处理的 C++)。
代码: affects_outputs
允许用户配置预期输出,从而影响其值,而非其存在的值:
累计使用了 --action_env=<a 'name=value' assignment with an optional value part>
指定适用于具有目标配置的操作的一组环境变量。变量可以按名称指定(在这种情况下,值将从调用环境中获取),也可以通过 name=value 对(设置值与调用环境无关)进行指定。此选项可多次使用;对于针对同一变量提供的选项,最新获胜情况以及不同变量累积选项。
代码: action_command_lines
--android_cpu=<a string> 默认值:"armeabi-v7a"
Android 目标 CPU。
标记:affects_outputsloading_and_analysisloses_incremental_state
--[no]android_databinding_use_androidx 默认值:"false”
生成与 AndroidX 兼容的数据绑定文件。此 API 仅用于数据绑定 v2。
标记:affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]android_databinding_use_v3_4_args 默认值:"false”
将 Android 数据绑定 v2 与 3.4.0 参数配合使用
代码: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--android_dynamic_mode=<off, default or fully> 默认值:"off"
当 cc_binary 未明确创建共享库时,确定是否动态链接 Android 规则的 C++ 依赖项。'default' 表示 Bazel 会选择动态链接。'full' 表示所有库都将动态链接。'off' 表示所有库将在主要是静态模式下的链接中。
标记:affects_outputsloading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency> 默认值:"alphabetical"
设置传递给 Android 二进制文件清单合并程序的清单的顺序。ALPHABETICAL 表示清单相对于 execroot 的路径排序。ALPHABETICAL_BY_CONFIGURATION 表示清单是相对于输出目录中配置目录的路径排序的。DEPENDENCY 表示清单按每个库的清单排序,在其依赖项的清单之前。
标记:action_command_linesexecution
--[no]android_resource_shrinking 默认值:"false”
为使用 ProGuard 的 android_binary APK 启用资源压缩。
标记:affects_outputsloading_and_analysis
累计使用了 --apple_bitcode=<'mode' or 'platform=mode', where 'mode' is none, embedded_markers or embedded, and 'platform' is ios, watchos, tvos, macos or catalyst>
为针对设备架构的编译步骤指定 Apple 位码模式。值的格式为 '[platform=]mode',其中平台(必须是 'ios'、'macos'、'tvos' 或 'watchos')是可选的。如果提供,位码模式将专门应用于该平台;如果省略,则适用于所有平台。模式必须为“无”、“嵌入式”或“嵌入式”。此选项可以多次提供。
代码: loses_incremental_state
--[no]build_python_zip默认值:"auto”
构建 Python 可执行 zip 文件;在 Windows 上,在其他平台上关闭
代码: affects_outputs
累计使用了 --catalyst_cpus=<comma-separated list of options>
要为其构建 Apple Catalyst 二进制文件的架构列表(以英文逗号分隔)。
标记:loses_incremental_stateloading_and_analysis
--[no]collect_code_coverage 默认值:"false”
如果指定此参数,则 Bazel 会尽可能对代码进行插桩(尽可能使用离线插桩),并在测试期间收集覆盖率信息。只有与 --instrumentation_filter 匹配的目标才会受到影响。通常情况下,不应直接指定此选项,而应改用命令“bazelCoverage&#39”。
代码: affects_outputs
--compilation_mode=<fastbuild, dbg or opt> [-c] 默认值:"fastbuild"
指定要在其中构建二进制文件的模式。值:'fastbuild', 'dbg', 'opt'
标记:affects_outputsaction_command_linesexplicit_in_output_path
累计使用了 --conlyopt=<a string>
在编译 C 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --copt=<a string>
传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--cpu=<a string> 默认值:""
目标 CPU。
标记:changes_inputsaffects_outputsexplicit_in_output_path
--cs_fdo_absolute_path=<a string> 默认值:查看说明
使用 CSFDO 个人资料信息优化编译。指定包含配置文件(原始文件或编入索引的 LLVM 配置文件)的 ZIP 文件的绝对路径名称。
代码: affects_outputs
--cs_fdo_instrument=<a string> 默认值:查看说明
使用上下文相关 FDO 插桩生成二进制文件。使用 Clang/LLVM 编译器时,它还会接受原始配置文件在运行时将被转储的目录名称。
代码: affects_outputs
--cs_fdo_profile=<a build target label> 默认值:查看说明
表示进行优化的上下文相关配置文件的 cs_fdo_profile。
代码: affects_outputs
累计使用了 --cxxopt=<a string>
在编译 C++ 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --define=<a 'name=value' assignment>
每个 --define 选项都会为 build 变量指定一项分配。
标记:changes_inputsaffects_outputs
--dynamic_mode=<off, default or fully>默认值:"default”
确定是否以动态方式链接 C++ 二进制文件。'default' 表示 Bazel 会选择动态链接。'full' 表示所有库都将动态链接。'off' 表示所有库将在主要是静态模式下的链接中。
标记:loading_and_analysisaffects_outputs
--[no]enable_fdo_profile_absolute_path 默认值:"true"
如果设置此参数,则使用 fdo_绝对_profile_path 会引发错误。
代码: affects_outputs
--[no]enable_runfiles默认值:"auto”
启用 Runfile 符号链接树;在 Windows 或其他平台上,它默认处于关闭状态。
代码: affects_outputs
累计使用了 --experimental_action_listener=<a build target label>
在某些方面已弃用。使用 action_listener 将额外的 extra 操作附加到现有构建操作。
标记:executionexperimental
--[no]experimental_android_compress_java_resources 默认值:"false”
在 APK 中压缩 Java 资源
标记: affects_outputsloading_and_analysisexperimental
--[no]experimental_android_databinding_v2 默认值:"false”
使用 Android 数据绑定 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
--experimental_objc_fastbuild_options=<comma-separated list of options> 默认值:"-O0,-DDEBUG=1"
将这些字符串用作 objc fastbuild 编译器选项。
代码: action_command_lines
--[no]experimental_omitfp 默认值:"false”
如果为 true,请将 libunwind 用于堆栈展开,并使用 -fomit-frame-pointer 和 -fasync-unwind-tables 进行编译。
标记:action_command_linesaffects_outputsexperimental
--[no]experimental_platform_in_output_dir 默认值:"false”
如果为 true,则会在输出目录名称中使用目标平台,而不是 CPU。
标记:affects_outputsexperimental
--[no]experimental_use_llvm_covmap 默认值:"false”
如果指定此参数,则启用 collect_code_coverage 后,Bazel 将生成 llvm-cov 覆盖范围地图信息,而不是 gcov。
标记:changes_inputsaffects_outputsloading_and_analysisexperimental
--fat_apk_cpu=<comma-separated list 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 文件的名称。此标记也可以接受指定为标签的文件,例如 //foo/bar:file.afdo。此类标签必须引用输入文件;您可能需要向相应的软件包添加 export_files 指令以使文件对 Bazel 可见。它还接受原始或已编入索引的 LLVM 配置文件。此标记将被 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> 将在全局范围内停用该功能。负特征始终替换正特征。此标志用于在没有 Bazel 版本的情况下发布默认功能更改。
标记:changes_inputsaffects_outputs
--[no]force_pic 默认值:"false”
如果启用此功能,所有 C++ 编译都会生成位置无关代码 ("quot;-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>
在为主机工具编译 C 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --host_copt=<a string>
向托管工具传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--host_cpu=<a string> 默认值:""
主机 CPU。
标记:changes_inputsaffects_outputs
累计使用了 --host_cxxopt=<a string>
向托管工具传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--host_force_python=<PY2 or PY3> 默认值:查看说明
覆盖主机配置的 Python 版本。可以是“PY2”或“PY3”。
标记:loading_and_analysisaffects_outputs
累计使用了 --host_linkopt=<a string>
关联主机工具时要传递给 gcc 的附加选项。
标记: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_swiftcopt=<a string>
传递给 swiftc 的其他托管工具选项。
标记:action_command_linesaffects_outputs
--[no]incompatible_avoid_conflict_dlls 默认值:"true"
启用此选项后,Windows 上 cc_library 生成的所有 C++ 动态链接库 (DLL) 都将重命名为 name_{hash}.dll,其中,系统会根据 RepositoryName 和 DLL' 的软件包路径计算哈希。如果您有一个依赖于多个同名的 cc_library 的软件包(例如 //foo/bar1:utils 和 //foo/bar2:utils),此选项就非常有用。
标记:loading_and_analysisaffects_outputsincompatible_change
--[no]incompatible_merge_genfiles_directory 默认值:"true"
如果为 true,则 genfiles 目录将折叠到 bin 目录中。
标记:affects_outputsincompatible_change
--[no]incompatible_use_platforms_repo_for_constraints 默认值:"false”
如果为 true,系统会移除 @bazel_tools 提供的限制条件设置。
标记:affects_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_cpu=<a string> 默认值:"x86_64"
指定以 iOS 编译为目标 CPU。
标记:no_opdeprecated
--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)。开启后,请在 linkopts 中为 --linkhole=1 或 linkstatic=1 或 '-static' 指定的 cc_binary 规则使用 --whole-archive 规则。这仅是为了实现向后兼容性。更好的方法是根据需要使用始终提供链接 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
--[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 编译的其他选项。
代码: 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/ 中所有抄送文件的 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/ 中除 .foo 之外的所有文件的 LTO 后端命令行中。
代码: action_command_linesaffects_outputs
--platform_suffix=<a string> 默认值:查看说明
指定要添加到配置目录中的后缀。
标记:loses_incremental_stateaffects_outputsloading_and_analysis
--propeller_optimize=<a build target label> 默认值:查看说明
使用推进器配置文件信息来优化构建目标。推进器配置文件必须至少包含两个文件之一(cc 配置文件和 ld 配置文件)。此标记接受必须引用螺旋桨配置文件输入文件的构建标签。例如,a/b/BUILD:propeller_optimize该选项必须按以下格式使用:--propeller_optimize=//a/b:propeller_profile
标记:action_command_linesaffects_outputs
--propeller_optimize_absolute_cc_profile=<a string> 默认值:查看说明
推进器优化 build 的 cc_profile 文件的绝对路径名称。
代码: affects_outputs
--propeller_optimize_absolute_ld_profile=<a string> 默认值:查看说明
推进器优化 build 的 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', &#39&//package:target
代码: 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”)。'有时' 表示删除 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
累计使用了 --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_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]enforce_constraints 默认值:"true"
检查每个目标兼容的环境,如果任何目标具有不支持相同环境的依赖项,则报告错误
标记: build_file_semantics
--[no]experimental_allow_android_library_deps_without_srcs 默认值:"false”
有助于从允许依赖项转换为无 src 的 android_library 规则的依赖项。默认情况下,仓库需要清理才能发布。
标记:eagerness_to_exitloading_and_analysis
--[no]experimental_check_desugar_deps 默认值:"true"
是否应在 Android 二进制文件级别仔细检查正确的脱糖。
标记:eagerness_to_exitloading_and_analysisexperimental
--[no]experimental_desugar_java8_libs 默认值:"false”
在适用于旧版设备的应用中是否包含受支持的 Java 8 库。
标记:affects_outputsloading_and_analysisloses_incremental_stateexperimental
--experimental_import_deps_checking=<off, warning or error>默认值:"OFF”
启用时,检查 aar_import 的依赖项是否已完成。强制执行可能会破坏构建,或者只会导致警告。
代码: loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default>默认值:"default”
如果为 true,则检查 Java 目标是否明确将所有直接使用的目标声明为依赖项。
标记:build_file_semanticseagerness_to_exit
--[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_force_strict_header_check_from_starlark 默认值:"true"
如果启用,则在 Starlark API 中设置严格的标头检查
标记: loading_and_analysischanges_inputsincompatible_change
--[no]incompatible_validate_top_level_header_inclusions 默认值:"true"
如果为 true,则 Bazel 还将验证是否包含顶级目录头文件(如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/10047)。
标记:loading_and_analysisincompatible_change
--[no]strict_filesets 默认值:"false”
如果启用此选项,跨软件包边界的文件集将报告为错误。当 check_fileset_ dependencies_recursively 停用时,它不起作用。
标记: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 3. 中使用的所有目标均导出为导出内容。
标记:build_file_semanticseagerness_to_exitincompatible_change
--[no]strict_system_includes 默认值:"false”
如果为 true,则需声明通过系统包含的路径 (-isystem) 的头文件。
标记:loading_and_analysiseagerness_to_exit
累计使用了 --target_environment=<a build target label>
声明此 build 的目标环境。必须是对“环境”规则的标签引用。如果指定,则所有顶级目标都必须与此环境兼容。
标记: changes_inputs
影响 build 签名输出的选项:
--apk_signing_method=<v1, v2, v1_v2 or v4> 默认值:"v1_v2"
用于为 APK 签名的实现
标记: action_command_linesaffects_outputsloading_and_analysis
--[no]device_debug_entitlements 默认值:"true"
如果设置了此标记,且编译模式不是 &opt 选项,objc 应用在签名时会包含调试权限。
代码: changes_inputs
--ios_signing_cert_name=<a string> 默认值:查看说明
用于 iOS 签名的证书名称。如果未设置,将回退到预配配置文件。可以是证书的钥匙串身份偏好设置或证书的通用名称(子字符串),具体取决于代码签名手册页面(签名 ID)。
标记: action_command_lines
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义:
--[no]incompatible_disallow_legacy_py_provider 默认值:"true"
No-op 即将被移除。
标记: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]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'。您可以通过在将运行模拟器的计算机上运行 #x9run 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/*此选项可以传递多次。最新传递的匹配参数优先。如果没有匹配项,则测试仅运行一次。
累计使用了 --test_env=<a 'name=value' assignment with an optional value part>
指定要注入测试运行程序环境的其他环境变量。变量可以按名称指定(在这种情况下,将从 Bazel 客户端环境读取其值),也可以通过 name=value 对进行读取。此选项可以多次指定多个变量。仅供 'bazel test' 命令使用。
代码: test_runner
--test_timeout=<a single integer or comma-separated list of 4 integers> 默认值:"-1”
覆盖测试超时的默认测试超时值(以秒为单位)。如果仅指定一个正整数值,则该值将覆盖所有类别。如果指定了 4 个以英文逗号分隔的整数,它们将(按照此顺序)替换超时、短、长、长超时设置。无论采用哪种形式,值为 -1 均指示 blaze 针对该类别使用默认超时。
--tvos_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 tvOS 应用时要模拟的设备,例如 'Apple TV 1080p'。您可以通过在将运行模拟器的计算机上运行 #x9run simctl list devicetypes' 来获取设备列表。
代码: test_runner
--tvos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
在运行或测试时要在模拟器上运行的 tvOS 版本。
代码: test_runner
--watchos_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 watchOS 应用时要模拟的设备,例如 'Apple Watch - 38mm'。您可以通过在将运行模拟器的计算机上运行 #x9run simctl list devicetypes' 来获取设备列表。
代码: test_runner
--watchos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
在运行或测试时在模拟器上运行的 watchOS 版本。
代码: test_runner
--[no]zip_undeclared_test_outputs 默认值:"true"
如果值为 true,则未声明的测试输出将归档为 zip 文件。
标记: test_runner
与查询输出和语义相关的选项:
--aspect_deps=<off, conservative or precise> 默认值:“保守型”
如果输出格式是 {xml,proto,record} 之一,如何解析宽高比依赖项。'off' 表示系统不会解析任何宽高比依赖项(默认值),表示所有已声明的宽高比依赖项都会被添加,无论它们是否被赋予了直接依赖项的规则类;'precise' 表示系统只会添加那些可能属于直接依赖项规则类别的方面。请注意,精确模式需要加载其他软件包来评估单个目标,因此它会比其他模式慢。另请注意,即使是精确模式,也并非完全精确:是否在计算阶段决定是否计算某个方面,此期间不会在“ Bazel 查询”期间运行。
代码: build_file_semantics
--[no]deduplicate_depsets 默认值:"true"
最终 proto/textproto/json 输出中 dep_set_of_files 的非叶子项的重复信息。此操作不会删除没有直接父项的重复项。这不会影响操作的最终有效输入工件列表。
代码: terminal_output
--[no]graph:factored 默认值:"true"
如果为 true,则发出图表并执行“因式分解”操作,也就是说,合并等效的节点并将其合并在一起。此选项仅适用于 --output=graph。
代码: terminal_output
--graph:node_limit=<an integer> 默认值:"512"
输出中图表节点的标签字符串的最大长度。较长的标签会被截断;-1 表示不会截断。此选项仅适用于 --output=graph。
代码: terminal_output
--[no]implicit_deps 默认值:"true"
启用后,隐式依赖项将包含在执行查询的依赖项图表中。隐式依赖项是在 BUILD 文件中明确指定的,但由 bazel 添加。对于 cquery,此选项用于控制过滤已解析的工具链。
代码: build_file_semantics
--[no]include_artifacts 默认值:"true"
在输出中包含操作输入和输出的名称(可能很大)。
代码: terminal_output
--[no]include_aspects 默认值:"true"
aquery、cquery:是否在输出中包含宽高比生成的操作。query: no-op(始终遵循规范)。
代码: terminal_output
--[no]include_commandline 默认值:"true"
在输出中包含操作命令行的内容(可能很大)。
代码: terminal_output
--[no]include_param_files 默认值:"false”
添加命令中使用的参数文件的内容(可能很大)。注意:启用此标志会自动启用 --include_commandline 标志。
代码: terminal_output
--[no]incompatible_display_source_file_location 默认值:"true"
默认情况下为 true,显示源文件的目标。如果为 true,则在位置输出中显示源文件第 1 行的位置。此标志仅用于迁移目的。
标记:terminal_outputincompatible_change
--[no]infer_universe_scope 默认值:"false”
如果设置此参数并且未设置 --universe_scope,则系统会将 --universe_scope 的值推断为查询表达式中的唯一目标模式的列表。请注意,针对使用 Universe 范围函数(例如 `allrdeps`)的查询表达式推断的 --universe_scope 值可能不是您想要的,因此只有在您知道自己要执行的操作时,才应使用此选项。如需了解详情和示例,请参阅 https://bazel.build/versions/reference/query#sky-query。如果设置了 --universe_scope,则忽略此选项的值。注意:此选项仅适用于“查询”(即不适用于“cquery”)。
标记: loading_and_analysis
--[no]line_terminator_null 默认值:"false”
各种格式是否都以 \0 而不是换行符结尾。
代码: terminal_output
--[no]nodep_deps 默认值:"true"
如果启用,来自“nodep”属性的依赖项将包含在执行查询的依赖项关系图中。“nodep”属性的一个常见示例是 " visibility"。运行并解析“info build-language”的输出,了解 build 语言中的所有“nodep”属性。
代码: build_file_semantics
--output=<a string> 默认值:"text"
查询结果应采用的格式。查询允许的值为:text、textproto、proto、jsonproto。
代码: terminal_output
--[no]proto:default_values 默认值:"true"
如果为 true,则未在 Build 文件中明确指定其值的属性;否则会忽略这些属性。此选项适用于 --output=proto
标记:terminal_output
--[no]proto:definition_stack 默认值:"false”
填充 define_stack proto 字段,该字段为每条规则实例在定义规则的类时记录 Starlark 调用堆栈。
代码: terminal_output
--[no]proto:flatten_selects 默认值:"true"
启用后,系统会对通过 select() 创建的可配置属性进行扁平化处理。对于列表类型,扁平化表示是一个列表,其中包含所选映射的每个值仅一次。标量类型展平为 null。
代码: build_file_semantics
--[no]proto:include_synthetic_attribute_hash 默认值:"false”
是否计算并填充 $internal_attr_hash 属性。
代码: terminal_output
--[no]proto:instantiation_stack 默认值:"false”
填充每条规则的实例化调用堆栈。请注意,这要求存在堆栈
标记:terminal_output
--[no]proto:locations 默认值:"true"
是否要在 proto 输出中输出位置信息。
代码: terminal_output
--proto:output_rule_attrs=<comma-separated list of options>默认值:"all"
要包含在输出中的特性列表(以英文逗号分隔)。默认为所有属性。设置为空字符串不会输出任何属性。此选项适用于 --output=proto。
代码: terminal_output
--[no]proto:rule_inputs_and_outputs 默认值:"true"
是否填充规则_输入和规则输出字段。
代码: terminal_output
--[no]relative_locations 默认值:"false”
如果为 true,build 文件在 xml 和 proto 输出中的位置将是相对位置。默认情况下,位置输出是绝对路径,在各台计算机上不一致。您可以将此选项设置为 true,以便在多台计算机上获得一致的结果。
代码: terminal_output
--[no]skyframe_state 默认值:"false”
在不执行额外分析的情况下,从 Skyframe 中转储当前的操作图。注意:目前不支持使用 --skyframe_state 指定目标。此标志仅适用于 --output=proto 或 --output=textproto。
代码: terminal_output
--[no]tool_deps 默认值:"true"
查询:如果停用此设置,则对主机配置的依赖项将不会包含在执行查询的依赖项关系图中。主机配置依赖项(例如来自任何 proto_library&协议编译器规则的依赖项)通常指向在构建期间执行的工具,而不是同一目标程序的一部分。{0}{/1} Cquery:停用时,从发现此配置目标的顶级目标中,过滤掉跨主机或执行过渡的所有已配置目标。这意味着,如果顶级目标位于目标配置中,则仅返回目标配置中配置的目标。如果顶级目标在主机配置中,则仅返回主机配置的目标。此选项不会排除已解析的工具链。
代码: build_file_semantics
--universe_scope=<comma-separated list of options> 默认值:""
一系列以英文逗号分隔的目标值(累加和递减)。查询可以按照指定目标的传递关闭定义的宇宙执行。此选项用于查询和 cquery 命令。对于 cquery,此选项的输入是所有答案的构建目标,因此该选项可能会影响配置和转换。如果未指定该选项,则假定顶级目标是从查询表达式解析的目标。注意:对于 cquery,如果无法通过顶级选项从查询表达式中解析的目标进行构建,那么不指定此选项可能会导致构建中断。
标记: loading_and_analysis
触发构建时间优化的选项:
--[no]collapse_duplicate_defines 默认值:"false”
启用后,多余的“定义”将会在构建早期移除。这样可以避免某些类型的等效构建出现不必要的分析缓存丢失。
标记:loading_and_analysisloses_incremental_state
--[no]experimental_filter_library_jar_with_program_jar 默认值:"false”
过滤 ProGuard ProgramJar 以移除 LibraryJar 中也存在的任何类。
代码: action_command_lines
--[no]experimental_inmemory_dotd_files 默认值:"false”
启用后,C++ .d 文件将直接从远程构建节点在内存中传递,而不是写入磁盘。
标记:loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_inmemory_jdeps_files 默认值:"false”
启用后,从 Java 编译生成的依赖项 (.jdeps) 文件将直接从远程构建节点在内存中传递,而不是写入磁盘。
标记:loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_objc_include_scanning 默认值:"false”
是否执行扫描以获取目标 C/C++。
标记: loading_and_analysisexecutionchanges_inputs
--[no]experimental_parse_headers_skipped_if_corresponding_srcs_found 默认值:"false”
启用此选项后,如果在同一个目标中发现具有相同基本名称的源文件,则 parse_headers 功能不会创建单独的标头编译操作。
标记:loading_and_analysisaffects_outputs
--[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”
如果启用此选项,可以使用 Starcck 版本的 cc_import。
标记: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"
启用后,与测试相关的选项将被清除到 build 的顶层。启用此标记后,无法将测试构建为非测试规则的依赖项,但更改与测试相关的选项不会导致重新分析非测试规则。
标记:loading_and_analysisloses_incremental_state
--[no]use_singlejar_apkbuilder 默认值:"true"
此选项已弃用。它现在为空操作,很快就会被移除。
标记: loading_and_analysis
影响日志记录的详尽程度、格式或位置的选项:
--toolchain_resolution_debug=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths> 默认值:"-.*"
解析工具链解析期间的调试信息。该标志接受正则表达式,然后对照工具链类型和特定目标进行检查,以确定要进行调试。多个正则表达式可用英文逗号分隔,然后分别检查各个正则表达式。注意:此标志的输出非常复杂,可能只对工具链解析专家有用。
标记: terminal_output
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
累计使用了 --flag_alias=<a 'name=value' flag alias>
设置 Starlark 标志的简写名称。它接受一个格式为“<<key>=<value>"”的键值对。
代码: changes_inputs
--[no]incompatible_default_to_explicit_init_py 默认值:"false”
此标记会更改默认行为,以便不再在 Python 目标的运行文件中自动创建 __init__.py 文件。确切地说,当 py_binary 或 py_test 目标将 native_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_outputsexplicit_in_output_path
其他选项,未进行分类。
--[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&s33; 的依赖项获取。目前仅适用于 Bazel。
--host_java_launcher=<a build target label> 默认值:查看说明
在构建期间执行的工具使用的 Java 启动器。
累计使用了 --host_javacopt=<a string>
构建构建期间执行的工具时要传递给 javac 的其他选项。
累计使用了 --host_jvmopt=<a string>
在构建期间执行的工具时,要向 Java 虚拟机传递的其他选项。这些选项将添加到每个 java_binary 目标的虚拟机启动选项中。
--[no]incompatible_exclusive_test_sandboxed 默认值:"false”
如果值为 true,系统将使用沙盒化策略运行专有测试。添加 'local' 标记以强制在本地运行独占测试
标记: incompatible_change
--[no]incompatible_strict_action_env 默认值:"false”
如果为 true,则 Bazel 使用的环境包含 PATH 的静态值,并且不会继承 LD_LIBRary_PATH。如果您想从客户端继承特定环境变量,请使用 --action_env=ENV_VARIABLE,但请注意,如果使用共享缓存,这样做可能会妨碍跨用户缓存。
标记:loading_and_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> 默认值:"8”
Java 语言版本
--java_launcher=<a build target label> 默认值:查看说明
构建 Java 二进制文件时使用的 Java 启动器。如果此标志设置为空字符串,则使用 JDK 启动器。“launcher”属性会替换此标志。
--java_runtime_version=<a string> 默认值:"local_jdk"
Java 运行时版本
累计使用了 --javacopt=<a string>
传递给 javac 的其他选项。
累计使用了 --jvmopt=<a string>
传递给 Java 虚拟机的其他选项。这些选项将添加到每个 java_binary 目标的虚拟机启动选项中。
--legacy_main_dex_list_generator=<a build target label> 默认值:查看说明
指定二进制文件,以便在编译旧版 MultiDex 时生成必须包含在主 dex 中的类的列表。
累计使用了 --plugin=<a build target label>
要在 build 中使用的插件。目前支持 java_plugin。
--proguard_top=<a build target label> 默认值:查看说明
指定在构建 Java 二进制文件时用于移除代码的 ProGuard 版本。
--proto_compiler=<a build target label> 默认值:"@com_google_protobuf//:protoc"
proto 编译器的标签。
标记:affects_outputsloading_and_analysis
--proto_toolchain_for_cc=<a build target label> 默认值:"@com_google_protobuf//:cc_工具链"
proto_lang_toolchain() 的标签,介绍了如何编译 C++ proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_j2objc=<a build target label> 默认值:"@bazel_tools//tools/j2objc:j2objc_proto_工具链"
proto_lang_toolchain() 的标签,介绍了如何编译 j2objc proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_java=<a build target label> 默认值:"@com_google_protobuf//:java_工具链"
proto_lang_toolchain() 的标签,说明如何编译 Java proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_javalite=<a build target label> 默认值:"@com_google_protobuf//:javalite_工具链"
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 使用的 shell 可执行文件的绝对路径。如果未设置此参数,但 BZEL_SH 环境变量是在第一次 Bazel 调用(启动 Bazel 服务器)时设置的,则 Bazel 将使用该变量。如果二者均未设置,则 Bazel 会根据其运行所在的操作系统使用硬编码的默认路径(Windows:c:/tools/msys64/usr/bin/bash.exe,FreeBSD:/usr/local/bin/bash,所有其他类型:/bin/bash)。请注意,使用与 bash 不兼容的 shell 可能会导致生成的二进制文件出现构建失败或运行时失败。
代码: loading_and_analysis
累计使用了 --test_arg=<a string>
指定应传递给测试可执行文件的其他选项和参数。可以多次指定多个参数。如果执行了多个测试,每个测试将收到相同的参数。仅供 'bazel test' 命令使用。
--test_filter=<a string> 默认值:查看说明
指定用于转发到测试框架的过滤器。用于限制运行的测试。请注意,这不会影响构建的目标。
--test_result_expiration=<an integer> 默认值:"-1”
此选项已弃用,不起作用。
--[no]test_runner_fail_fast 默认值:"false”
向测试运行程序转发的“快速失败”选项。测试运行程序应在第一次失败后停止执行。
--test_sharding_strategy=<explicit or disabled> 默认值:"explicit"
指定测试分片策略:'explicit' to use sharding only if 'shard_count' BUILD attribute. 'disabled' 切勿使用测试分片。
--tool_java_language_version=<a string> 默认值:"8”
用于执行构建期间所需的工具的 Java 语言版本
--tool_java_runtime_version=<a string> 默认值:"remotejdk_11"
用于在构建期间执行工具的 Java 运行时版本
--[no]use_ijars 默认值:"true"
如果启用此选项,Java 编译将使用接口 jar。这将加快增量编译的速度,但错误消息可能会有所不同。

构建选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制执行作业的选项:
--[no]check_up_to_date 默认值:"false”
切勿执行构建,只需检查构建是否是最新版本即可。如果所有目标都是最新的,则表示构建成功完成。如果需要执行任何步骤,系统会报告错误并且构建失败。
代码: execution
--[no]experimental_delay_virtual_input_materialization 默认值:"false”
如果设置为 true,则仅在沙盒内(而非 execroot 中)创建虚拟输入(如参数文件),这样会修复使用动态调度程序时出现的竞争条件。此标志专门用于支持发布此 bug 修复。
代码: execution
--experimental_docker_image=<a string> 默认值:""
指定一个 Docker 映像名称(例如 "ubuntu:latest"),应该在使用 Docker 策略时执行沙盒操作,该操作本身在平台说明的 remote_execute_properties 中还没有容器映像属性。此标志的值是逐字传递给 &Docker 的,因此它支持与 Docker 本身相同的语法和机制。
代码: execution
--[no]experimental_docker_privileged 默认值:"false”
启用后,Bazel 在运行操作时会将 --privileged 标志传递给 'docker run'。您的 build 可能要求这样做,但也可能会导致其封闭性降低。
代码: execution
--[no]experimental_docker_use_customized_images 默认值:"true"
如果启用,则将当前用户的 uid 和 gid 注入 Docker 映像后再使用。如果您的构建 / 测试依赖于用户在容器内拥有名称和主目录,则必须执行此操作。此功能在默认情况下处于开启状态,但如果自动图片自定义功能在您使用的情形下不起作用或是您确定不需要此功能,那么您可以将其停用。
代码: execution
--[no]experimental_docker_verbose 默认值:"false”
如果启用此选项,Bazel 将输出关于 Docker 沙盒策略的更为详细的消息。
代码: execution
--[no]experimental_enable_docker_sandbox 默认值:"false”
启用基于 Docker 的沙盒。如果未安装 Docker,则此选项无效。
代码: execution
--[no]experimental_reuse_sandbox_directories 默认值:"false”
如果设置为 true,就可以重复使用在沙盒中运行的非工作器执行的目录,以避免不必要的设置成本。
代码: execution
--experimental_sandbox_async_tree_delete_idle_threads=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5"> 默认值:"0”
如果值为 0,系统会在操作完成后立即删除沙盒树(导致操作完成延迟)。如果大于零,当构建运行时,在大小为 1 的异步线程池上执行删除此类 3 的操作;如果服务器处于空闲状态,则增长至此标记指定的大小。
代码: execution
如果为 true,则将指定为操作输入的符号链接的目标映射到沙盒中。此项功能单纯用于解决一些 bug 规则,这些规则虽然无法自行执行此操作,但应在修复所有此类规则后移除。
--experimental_sandboxfs_path=<a string> 默认值:"sandboxfs"
如果 --experimental_use_sandboxfs 为 true,则使用沙盒沙盒二进制文件的路径。如果名称是裸名称,请使用在 PATH 中找到的名称的第一个二进制文件。
--[no]experimental_split_xml_generation 默认值:"true"
如果已设置此标记,并且测试操作未生成 test.xml 文件,则 Bazel 会使用单独的操作生成包含测试日志的虚拟 test.xml 文件。否则,Bazel 会在测试操作过程中生成 test.xml。
代码: execution
--[no]experimental_use_hermetic_linux_sandbox 默认值:"false”
如果设置为 true,则不装载根,仅装载通过 sandbox_add_mount_pair 提供的资源。输入文件会硬链接到沙盒,而不是从沙盒符号链接。如果操作输入文件位于与沙盒不同的文件系统中,则系统将复制输入文件。
代码: execution
--[no]experimental_use_sandboxfs 默认值:"false”
使用沙盒创建操作和 execroot 目录,而无需构建符号链接树。如果为“yes”,则 --experimental_sandboxfs_path 提供的二进制文件必须是有效的,并且与支持的沙盒沙盒版本相对应。如果设为“auto”,二进制文件可能缺失或不兼容。
--[no]experimental_use_windows_sandbox 默认值:"false”
使用 Windows 沙盒运行操作。如果为“yes”,则 --experimental_windows_sandbox_path 提供的二进制文件必须有效,并且与支持的沙盒沙盒版本相对应。如果设为“auto”,二进制文件可能缺失或不兼容。
--experimental_windows_sandbox_path=<a string> 默认值:"BazelSandbox.exe”
--experimental_use_windows_sandbox 为 true 时使用的 Windows 沙盒二进制文件的路径。如果名称是裸名称,请使用在 PATH 中找到的名称的第一个二进制文件。
--genrule_strategy=<comma-separated list of options> 默认值:""
指定如何执行 genrule。我们将逐步停用此标志。您可以改用 --spawn_strategy=<value> 来控制所有操作,或者使用 --strategy=Genrule=<value> 来控制 genrule。
代码: execution
--[no]incompatible_legacy_local_fallback 默认值:"true"
如果设置为 true,将启用从沙盒到本地策略的旧版隐式回退。此标志最终默认设置为 false,然后变为空操作。改用 --strategy、--spawn_strategy 或 --dynamic_local_strategy 来配置后备。
标记:executionincompatible_change
如果设置为 true,Bazel 会像这样表示远程缓存/执行协议中的操作输出中的符号链接。当前行为是远程缓存/执行程序跟踪符号链接并将其表示为文件。如需了解详情,请参阅 #6631。
标记:executionincompatible_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"),后面可选择性地加上运算 ([-|*]&lt>float>),例如"auto","HOST_CPUS*.5"。值必须介于 1 到 5000 之间。如果值超过 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”
用于加载/分析阶段的并行线程数。可以用一个整数或一个关键字("自动", " HOST_CPUS", " HOST_RAM"),可以选择性地在后面加上一个操作 ([-|*]<float>),例如"auto","HOST_CPUS*.5"。"auto",用于根据主机资源设置合理的默认值。必须至少为 1。
代码: bazel_internal_configuration
如果为 true,请将操作符号链接输出上传到远程缓存。如果未启用此选项,则输出符号链接的可缓存操作将会失败。
代码: execution
--spawn_strategy=<comma-separated list of options> 默认值:""
指定默认衍生操作的方式。接受以逗号分隔从高到低优先级的策略列表。对于每项操作,Bazel 都会选择能够执行该操作且优先级最高的策略。默认值为“remote,worker,sandboxed,local”。如需了解详情,请参阅 https://blog.bazel.build/2019/06/19/list-strategy.html。
代码: execution
累计使用了 --strategy=<a '[name=]value1[,..,valueN]' assignment>
指定如何分发其他衍生操作的编译。接受以逗号分隔从高到低优先级的策略列表。对于每项操作,Bazel 都会选择能够执行该操作且优先级最高的策略。默认值为“remote,worker,sandboxed,local”。此标志会替换 --spawn_strategy 设置的值(如果与 mnemonic Genrule 搭配使用,则使用 --genrule_strategy)。如需了解详情,请参阅 https://blog.bazel.build/2019/06/19/list-strategy.html。
代码: execution
累计使用了 --strategy_regexp=<a '<RegexFilter>=value[,value]' assignment>
替换应使用哪个衍生策略来执行具有与特定 regex_filter 匹配的描述的衍生操作。如需详细了解正则表达式匹配,请参阅 --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 will run 'Compiling //foo/bar/baz' with the 'local' strategy, but backed the order will run it with 'sandboxed'.
标记: execution
用于配置用于执行操作的工具链的选项:
--[no]incompatible_disable_runtimes_filegroups 默认值:"false”
已弃用空操作。
代码: action_command_linesloading_and_analysisdeprecatedincompatible_change
--[no]incompatible_dont_emit_static_libgcc 默认值:"true"
已弃用空操作。
代码: action_command_linesloading_and_analysisdeprecatedincompatible_change
已弃用空操作。
代码: action_command_linesloading_and_analysisdeprecatedincompatible_change
用于控制命令输出的选项:
--[no]build 默认值:"true"
执行构建;这是正常行为。指定 --nobuild 会使构建在执行构建操作之前停止,如果软件包加载和分析阶段成功完成,则返回零;此模式对于测试这些阶段很有用。
标记:executionaffects_outputs
--[no]experimental_run_validations 默认值:"true"
改用 --run_validations。
标记: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"
是否在构建过程中运行验证操作。
标记:executionaffects_outputs
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
累计使用了 --aspects=<comma-separated list of options>
要应用于顶级目标的一系列列表(以英文逗号分隔)。在该列表中,如果方面 some_aspect 通过 required_aspect_providers 指定了必需的方面提供程序,则 some_aspect 将在各部分在其前面提到的方面(在所宣传的提供商满足 some_aspect 所要求的某些方面)后运行。此外,some_aspect 将在必需的属性指定的所有必需方面之后运行。some_aspect 将可以访问这些方面的值。<bzl-file-label>%<aspect_name>,例如 '//tools:my_def.bzl%my_aspect',其中 'my_aspect' 是文件 tools/my_def.bzl 中的顶级值
--bep_maximum_open_remote_upload_files=<an integer> 默认值:"-1”
在 BEP 工件上传期间允许的打开文件数上限。
代码: affects_outputs
此标记用于控制方便的符号链接(构建后显示在工作区中的符号链接)的管理方式。可能的值:normal(默认值):已创建或删除每种类型的符号符号链接。 clean:所有符号链接都会被无条件删除。忽略:符号链接将被忽略。log_only:生成日志消息,就像传递了 'normal' 但实际上不会执行任何文件系统操作(对工具很有用)。请注意,只有名为 --symlink_prefix 的值生成的符号链接会受到影响;如果前缀发生更改,则任何现有的符号链接将保持不变。
代码: affects_outputs
此标志用于控制是否将 build eventConvenienceSymlinksIdentified 发布到 BuildEventProtocol。如果该值为 true,BuildEventProtocol 将有一个针对 quickSymlinksIdentified 的条目,其中会列出在您的工作区中创建的所有便利符号链接。如果为 false,BuildEventProtocol 中的便利 SymlinksIdentified 条目将为空。
代码: affects_outputs
累计使用了 --experimental_multi_cpu=<comma-separated list of options>
此标志允许指定多个目标 CPU。如果指定此参数,系统会忽略 --cpu 选项。
标记:affects_outputsexperimental
--remote_download_minimal
不会将任何远程构建输出下载到本地机器。此标志是三种标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=minimal。
扩展为:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=minimal

代码: affects_outputs
--remote_download_outputs=<all, minimal or toplevel>默认值:"all"
如果设置为“minimal”,系统不会将任何远程构建输出下载到本地计算机,但本地操作所需的输出除外。如果设置为“toplevel”,则其行为类似于 minimal',但同时也会将顶级目标的输出下载到本地机器。如果网络带宽是瓶颈,这两个选项可以显著缩短构建时间。
代码: affects_outputs
创建符号链接,而不是将远程构建输出下载到本地计算机。符号链接的目标可以以模板字符串的形式指定。此模板字符串可能包含可展开为对象哈希的 {hash} 和 {size_bytes},以及以字节为单位的大小。例如,这些符号链接可能指向某个 FUSE 文件系统,该文件系统会根据需要从 CAS 加载对象。
代码: affects_outputs
--remote_download_toplevel
仅将顶级目标的远程输出下载到本地机器。此标志是三个标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=toplevel。
扩展为:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=toplevel

代码: affects_outputs
在构建后创建的任何便利符号链接前面添加的前缀。如果省略,默认值是构建工具的名称后跟连字符。如果传递 '/',则系统不会创建符号链接,并且不会发出警告。警告:'/' 的特殊功能很快将会弃用,请改用 --experimental_convenience_symlinks=ignore。
标记: affects_outputs
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
--[no]incompatible_config_setting_private_default_visibility 默认值:"false”
如果 incompatible_enforce_config_setting_Visibility=false,则为空操作。或者,如果此标志为 false,则所有没有明确可见性属性的 config_setting 均为 //Visibility:public。如果此标志设置为 true,则 config_setting 遵循与所有其他规则相同的可见性逻辑。请参阅 https://github.com/bazelbuild/bazel/issues/12933。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 默认值:"false”
如果为 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/*此选项可以传递多次。最新传递的匹配参数优先。如果没有匹配的类别,则等同于上述默认行为。
代码: 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"),后面可选择性地加上运算 ([-|*]&lt>float>),例如"auto","HOST_CPUS*.5"。0 表示本地资源会改为限制并发运行的本地测试作业的数量。将该值设置为大于 --jobs 的值是无效的。
代码: execution
--[no]test_keep_going 默认值:"true"
停用此政策后,任何非通过的测试都会导致整个 build 停止。默认情况下,所有测试都会运行,即使某些测试未通过也是如此。
代码: execution
--test_strategy=<a string> 默认值:""
指定运行测试时使用的策略。
代码: execution
--test_tmpdir=<a path> 默认值:查看说明
指定要使用的“bazel test”的基本临时目录。
影响日志记录的详尽程度、格式或位置的选项:
--[no]announce 默认值:"false”
已弃用。空操作。
代码: affects_outputs
--[no]experimental_bep_target_summary 默认值:"false”
是否发布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets 默认值:"false”
如果为 true,请在呈现输出文件时展开 BEP 中的文件集。
代码: affects_outputs
如果为 true,则在呈现输出文件时完全解析 BEP 中的相对文件集符号链接。需要 --experimental_build_event_expand_filesets。
代码: affects_outputs
--experimental_build_event_upload_strategy=<a string> 默认值:查看说明
选择如何上传构建事件协议中引用的工件。
代码: affects_outputs
--[no]experimental_materialize_param_files_directly 默认值:"false”
如果实质化参数文件,请通过直接写入磁盘来实现。
代码: execution
--[no]experimental_record_metrics_for_all_mnemonics 默认值:"false”
默认情况下,操作类型的数量上限为执行操作数量最多的 20 个助记符。设置此选项将写入所有助记符的统计信息。
--experimental_repository_resolved_file=<a string> 默认值:""
如果非空,则写入一个 Starlark 值,其中包含已执行的所有 Starlark 代码库规则的已解析信息。
代码: affects_outputs
--[no]experimental_stream_log_file_uploads 默认值:"false”
将日志文件直接流式传输到远程存储空间,而不是将其写入磁盘。
代码: affects_outputs
--explain=<a path> 默认值:查看说明
使构建系统说明构建的每个已执行步骤。说明会写入指定的日志文件。
代码: affects_outputs
--[no]legacy_important_outputs 默认值:"true"
使用此参数可禁止在 TargetComplete 事件中生成旧版的重要数据输出字段。重要的是 Bazel 到 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:60 增量算法。
代码: affects_outputs
--show_result=<an integer> 默认值:"1”
显示构建结果。对于每个目标,请说明其是否为最新版本;如果已安装,则列出构建的输出文件列表。输出的文件是用于执行复制和粘贴 shell 的便捷字符串。 此选项需要一个整数参数,该参数是不输出结果信息的目标阈值数量。因此,零会导致消息的抑制,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' 以仅输出测试状态摘要,'errors' 还会输出失败测试的测试日志,'all' 会输出所有测试的日志,而 'streamed' 会输出所有测试的实时日志(这将强制在本地执行一次测试,而不考虑策略值,每次一个)。
标记:test_runnerterminal_outputexecution
--test_summary=<short, terse, detailed, none or testcase>默认值:"short”
指定所需的测试摘要格式。有效值为 'short' 以便仅输出有关已执行测试的信息, 'terse' 以便仅输出运行失败的测试的相关信息, 'detailed' 可输出失败测试用例的详细信息,而 'none' 可省略摘要。
代码: terminal_output
--[no]verbose_explanations 默认值:"false”
增加了在启用 --explain 的情况下发出的说明的详尽程度。如果未启用 --explain,则无效。
代码: affects_outputs
--[no]verbose_failures 默认值:"false”
如果命令失败,就输出完整的命令行。
标记: terminal_output
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
累计使用了 --aspects_parameters=<a 'name=value' assignment>
指定命令行方面的参数值。每个参数值均通过 <param_name>=<param_value> 进行指定,例如 'my_param=my_val',其中 'my_param' 是 --aspects 列表中的某个方面或列表中的某个方面要求的参数。此选项可以多次使用。但是,不能多次向同一参数赋值。
代码: loading_and_analysis
--experimental_resolved_file_instead_of_workspace=<a string> 默认值:""
如果非空,则读取指定的解析文件,而不是 WORKSPACE 文件
标记: changes_inputs
--target_pattern_file=<a string> 默认值:""
如果设置此参数,构建将从此处指定的文件中读取模式,而不是在命令行中。在此处指定文件和命令行模式是错误的。
标记: changes_inputs
远程缓存和执行选项:
--experimental_downloader_config=<a string> 默认值:查看说明
指定用于配置远程下载器的文件。此文件由多个行组成,每行都以指令(“allow”、“block”或“rewrite”)开头,后跟主机名(`allow` 和 `block`)或两种模式(一种为匹配项,另一种用作替代网址,反向引用从 `$1` 开始)。系统可能会针对同一网址提供多个 `rewrite` 指令,在此情况下可能会返回多个网址。
--[no]experimental_guard_against_concurrent_changes 默认值:"false”
关闭此设置可以停用在将操作上传到远程缓存之前检查该操作的输入文件的时间。在某些情况下,Linux 内核可能会延迟写入文件,进而导致误报。
--[no]experimental_remote_cache_async 默认值:"false”
如果为 true,远程缓存 I/O 将在后台进行,而不是作为衍生作品的一部分发生。
--[no]experimental_remote_cache_compression 默认值:"false”
如果此设置已启用,请使用 zstd 压缩/解压缩缓存 blob。
--experimental_remote_capture_corrupted_outputs=<a path> 默认值:查看说明
指向将捕获损坏输出的目录的路径。
--experimental_remote_downloader=<a string> 默认值:查看说明
Remote Asset API 端点 URI,用作远程下载代理。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。请参阅:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_execution_keepalive 默认值:"false”
是否要使用 keepalive 进行远程执行调用。
--experimental_remote_grpc_log=<a path> 默认值:查看说明
如果指定此参数,则为记录 gRPC 调用相关详细信息的文件的路径。此日志由一系列序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobuf 组成,每条消息都有一个前缀,表示以下序列化 protobuf 消息的大小,由方法 LogEntry.writeDelimitedTo(OutputStream) 执行。
--[no]experimental_remote_merkle_tree_cache 默认值:"false”
如果设置为 true,系统会记忆 Merkle 树,以提高远程缓存命中检查的速度。缓存的内存占用量由 --experimental_remote_merkle_tree_cache_size 控制。
--experimental_remote_merkle_tree_cache_size=<a long integer>默认值:"1000”
需要记忆的 Merkle 树数,可提高远程缓存命中检查的速度。即使根据 Java 对软引用的处理来自动删减缓存,如果设置过高,也可能会出现内存不足错误。如果设置为 0,则缓存大小无限制。具体价值因项目规模而异。默认值为 1000。
--[no]incompatible_remote_build_event_upload_respect_no_cache 默认值:"false”
如果设置为 true,则当无法远程缓存生成的操作时,BEP 引用的输出不会上传到远程缓存。
--[no]incompatible_remote_output_paths_relative_to_input_root 默认值:"false”
如果设置为 true,输出路径将相对于输入根目录而不是工作目录。
代码: incompatible_change
--[no]incompatible_remote_results_ignore_disk 默认值:"false”
如果设置为 true,则 --noremote_upload_local_results 和 --noremote_accept_cached 将不会应用于磁盘缓存。如果使用的是组合缓存: --noremote_upload_local_results 会导致结果写入磁盘缓存,但不会上传到远程缓存。 --noremote_accept_cached 将导致 Bazel 在磁盘缓存中(而不是远程缓存)检查结果。no-remote-exec 操作可能会占用磁盘缓存。 如需了解详情,请参阅 #8216。
代码: incompatible_change
--[no]remote_accept_cached 默认值:"true"
是否接受远程缓存的操作结果。
--remote_bytestream_uri_prefix=<a string> 默认值:查看说明
要写入构建事件流的 bytestream:// URI 中使用的主机名和实例名称。使用代理执行构建时可以设置此选项,这会导致 --remote_executor 和 --remote_instance_name 的值不再对应于远程执行服务的规范名称。如果未设置,则默认为“${hostname}/${instance_name}”。
--remote_cache=<a string> 默认值:查看说明
缓存端点的 URI。受支持的架构包括 http、https、grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc://、http:// 或 unix: 架构以停用 TLS。请参阅 https://dbaze.build/docs/remote-caching
累计使用了 --remote_cache_header=<a 'name=value' assignment>
指定将包含在缓存请求中的标头:--remote_cache_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_default_exec_properties=<a 'name=value' assignment>
如果执行平台尚未设置 exec_properties,请设置默认远程执行属性以用作远程执行平台。
代码: affects_outputs
--remote_default_platform_properties=<a string> 默认值:""
如果远程执行 API 尚未设置 Remote_ execution_properties ,请为远程执行 API 设置默认平台属性。如果选择主机平台作为远程执行的执行平台,系统也会使用此值。
累计使用了 --remote_downloader_header=<a 'name=value' assignment>
指定将包含在远程下载程序请求中的标头:--remote_downloader_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_exec_header=<a 'name=value' assignment>
指定将包含在执行请求中的标头:--remote_exec_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_execution_priority=<an integer> 默认值:"0”
要远程执行的操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_executor=<a string> 默认值:查看说明
远程执行端点的 HOST 或 HOST:PORT。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc:// 或 unix: 架构以停用 TLS。
累计使用了 --remote_header=<a 'name=value' assignment>
指定请求中将包含的标头:--remote_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_instance_name=<a string> 默认值:""
要在 RemoteExecution 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> 默认值:查看说明
通过代理连接到远程缓存。目前,此标志只能用于配置 Unix 网域套接字 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer> 默认值:"0”
要存储在远程缓存中的远程操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_retries=<an integer> 默认值:"5”
重试暂时性错误的最大尝试次数。如果设置为 0,系统会停用重试。
--remote_timeout=<An immutable length of time.>默认值:"60s"
远程执行和缓存调用的最长等待时间。对于 REST 缓存,这既是连接超时,也是读取超时。您可以使用以下单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。如果省略单位,则该值会被解释为秒。
--[no]remote_upload_local_results 默认值:"true"
是否将本地执行的操作结果上传到远程缓存。
--[no]remote_verify_downloads 默认值:"true"
如果设置为 true,Bazel 将计算所有远程下载内容的哈希总和,并在与预期值不匹配时舍弃远程缓存的值。
其他选项,未进行分类。
--auto_output_filter=<none, all, packages or subpackages>默认值:"none"
如果未指定 --output_filter,此选项的值将自动创建过滤器。允许的值包括“'none'”(不过滤任何内容 / 显示所有内容)、'all'(过滤所有内容 / 显示任何内容)、'packages'(包括 Blaze 命令行中提到的软件包中的规则输出)和 'subpackages'(例如 'packages&subinclude33)。对于 'packages' and 'subpackages' 值 //java/foo 和 //javatests/foo 会被视为一个软件包)'。
--[no]build_manual_tests 默认值:"false”
强制构建带“人工”标记的测试目标。手动测试不在测试的处理范围之内。此选项会强制构建(但不执行它们)。
--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>默认值:"none"
指定所需的累计覆盖率报告类型。目前仅支持 LCOV。
--[no]compile_one_dependency 默认值:"false”
编译参数文件的单个依赖项。这对于在 IDE 中检查源文件的语法很有用,例如,您可以重新构建依赖于源文件的单个目标,从而尽早在修改/构建/测试周期中检测错误。此参数会影响所有非标志参数的解读方式;它们并非源文件,而是用于构建源代码。对于每个源文件名,都会构建依赖于它的任意目标。
--deleted_packages=<comma-separated list of package names> 默认值:""
构建系统认为不存在的软件包名称列表(即使这些软件包在软件包路径上的某处可见)。删除现有软件包的子软件包 &x39;x' 时使用此选项。例如,在客户端中删除 x/y/BUILD 后,如果遇到 #&92;//x:y/z' 这个标签仍由另一 package_path 条目提供,系统可能会抱怨。指定 --deleted_packages x/y 可以避免此问题。
--[no]discard_analysis_cache 默认值:"false”
在分析阶段结束后立即舍弃分析缓存。将内存用量减少约 10%,但会使进一步增量构建的速度变慢。
--disk_cache=<a path> 默认值:查看说明
指向 Bazel 可以读取和写入操作和操作输出的目录的路径。如果该目录不存在,系统会创建一个。
--embed_label=<a one-line string> 默认值:""
在二进制文件中嵌入源代码控制修订版本或发布标签
--execution_log_binary_file=<a path> 默认值:查看说明
根据 src/main/protobuf/spawn.proto 将执行的衍生内容作为已分隔的 Spawn proto 记录到此文件中。首先将日志编写为无序,然后在调用结束时以稳定的顺序排序(可能占用 CPU 和内存)。相关标记:--execute_log_json_file(有序文本 json 格式)、--experimental_ execution_log_file(无序二进制 protobuf 格式)、--subcommands(在终端输出中显示子命令)。
--execution_log_json_file=<a path> 默认值:查看说明
根据 src/main/protobuf/spawn.proto,将执行的衍生内容记录到此文件中,作为带分隔符的 Spawn proto 的 json 表示形式。首先将日志编写为无序,然后在调用结束时以稳定的顺序排序(可能占用 CPU 和内存)。相关标志:相关标志:--execute_log_binary_file(有序二进制 protobuf 格式)、--experimental_ execution_log_file(无序二进制 protobuf 格式)、--subcommands(在终端输出中显示子命令)。
--[no]expand_test_suites 默认值:"true"
在分析之前,将 test_suite 目标扩展到其组成测试。启用此标志(默认)后,否定目标模式将适用于属于该测试套件的测试,否则不会应用。在命令行中应用顶级元素时,关闭此标志非常有用:它们可以分析 test_suite 目标。
代码: loading_and_analysis
--experimental_execution_log_file=<a path> 默认值:查看说明
根据 src/main/protobuf/spawn.proto 将执行的衍生内容作为已分隔的 Spawn proto 记录到此文件中。此文件按照 Spawns 的执行顺序编写。相关标志:--execute_log_binary_file(有序二进制 protobuf 格式)、--execute_log_json_file(有序文本 json 格式)、 --subcommands(在终端输出中显示子命令)。
--[no]experimental_execution_log_spawn_metrics 默认值:"false”
在已生成的衍生日志中添加衍生指标。
--experimental_extra_action_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths> 默认值:""
在某些方面已弃用。用于过滤 extra_actions 的一系列目标。
--[no]experimental_extra_action_top_level_only 默认值:"false”
在某些方面已弃用。仅为顶级目标安排 extra_actions。
--experimental_local_execution_delay=<an integer>默认值:"1000”
如果在构建期间至少远程执行速度更快,本地执行应延迟多少毫秒?
--[no]experimental_local_memory_estimate 默认值:"false”
估算在线可用的实际内存。默认情况下,Blaze 假定大多数操作使用固定的内存量,并将其计入总可用系统内存,无论实际有多少内存可用。该选项可以在线估算在任何给定时间的可用内存量,因此不需要准确预估指定操作将占用多少内存。
--experimental_persistent_javac
启用实验性永久性 Java 编译器。
扩展为:
--strategy=Javac=worker
--strategy=JavaIjar=local
--strategy=JavaDeployJar=local
--strategy=JavaSourceJar=local
--strategy=Turbine=local
--[no]experimental_prioritize_local_actions 默认值:"true"
如果设置此参数,则只能在本地运行的操作获得资源优先,动态运行工作器获得第二次机会,动态运行的独立操作排在最后。
代码: execution
--experimental_spawn_scheduler
通过在本地和远程并行运行操作来启用动态执行功能。Bazel 在本地和远程生成每个操作,然后选择最先完成的操作。如果操作支持工作器,则本地操作将在永久性工作器模式下运行。如需为单个操作助记符启用动态执行,请改用 `--internal_spawn_scheduler` 和 `--strategy=<mnemonic>=dynamic` 标志。
扩展为:
--internal_spawn_scheduler
--spawn_strategy=dynamic
--[no]experimental_worker_as_resource 默认值:"false”
启用后,系统会从 ResourceManager 以资源的形式获取工作器。
代码: execution
--[no]experimental_worker_cancellation 默认值:"false”
启用后,Bazel 可能会向支持这些工作器的工作器发送取消请求。
代码: execution
累计使用了 --experimental_worker_max_multiplex_instances=<[name=]value, where value is an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
如果您将策略与 --experimental_worker_multiplex 一起使用,某个多路复用工作器进程可能会并行收到多少个 WorkRequest 请求。可指定为 [name=value],以为每个工作器助记符提供不同的值。接受整数或关键字(“"auto”、"HOST_CPUS"、"HOST_RAM"),后面可选择性地加上运算 ([-|*]&lt>float>),例如"auto","HOST_CPUS*.5"。'auto' 根据机器容量计算合理的默认值。"=value" 为未指定的助记符设置默认值。
代码: host_machine_resource_optimizations
--[no]experimental_worker_multiplex 默认值:"true"
启用后,支持实验性多路复用功能的工作器将使用该功能。
--[no]experimental_worker_multiplex_sandboxing 默认值:"false”
启用后,系统会将多个工作器放入沙盒,每个工作请求使用单独的沙盒目录。只有执行要求是“supports-multiplex-sandboxing”的工作器才会进入沙盒。
代码: execution
--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 连接配置 keep-alive ping。如果设置了此选项,则 Bazel 会在连接未执行任何操作的情况下发送 ping,但仅当存在至少一个待处理的 gRPC 调用时。时间被视为第二粒度;设置的小于 1 秒是错误的。默认情况下, keep-alive ping 处于停用状态。启用此设置之前,您应与服务所有者协调。
--grpc_keepalive_timeout=<An immutable length of time.> 默认值:"20s"
配置传出 gRPC 连接的持久连接超时。如果使用 --grpc_keepalive_time 启用了 keep-alive ping,并且此时间过久仍未收到 ping 回复,则 Bazel 会超时。时间被视为第二粒度;设置的小于 1 秒是错误的。如果停用 keep-alive ping,则会忽略此设置。
累计使用了 --high_priority_workers=<a string>
运行高优先级工作器的记忆点。高优先级工作器运行时,所有其他工作器会受到限制。
--[no]ignore_unsupported_sandboxing 默认值:"false”
如果此系统不支持在沙盒中运行的,则不输出警告。
--[no]incompatible_dont_use_javasourceinfoprovider 默认值:"false”
空操作
代码: incompatible_change
--local_cpu_resources=<an integer, or "HOST_CPUS", optionally followed by [-|*]<float>.> 默认值:"HOST_CPUS"
明确设置 Bazel 可用于在本地执行的构建操作的本地 CPU 核心总数。接受整数或 HOST_CPUS,后面可以加上 [-|*]<float>(例如HOST_CPUS*.5 使用可用 CPU 核心的一半。默认情况下,("HOST_CPUS"),Bazel 会查询系统配置,以估算可用的 CPU 核心数。
--local_ram_resources=<an integer, or "HOST_RAM", optionally followed by [-|*]<float>.> 默认值:"HOST_RAM*.67"
明确设置 Bazel 可用于在本地执行的构建操作的本地主机 RAM 总大小 (MB)。接受整数或 HOST_RAM,可选择在后面加上 [-|*]<float>(例如HOST_RAM*.5 以使用可用 RAM 的一半)。默认情况下,(" HOST_RAM*.67” ),Bazel 会查询系统配置来估算可用的 RAM 容量,并将使用 67% 的 RAM。
--local_termination_grace_seconds=<an integer> 默认值:"15”
因超时而终止本地进程以及强制关闭本地进程之间的等待时间。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
--package_path=<colon-separated list of options> 默认值:"%workspace%"
以英文冒号分隔的列表,用于查找软件包的位置。以 '%workspace%' 开头的元素与封闭工作区相关。如果省略或为空,则默认为 'bazel info default-package-path'。
累计使用了 --sandbox_add_mount_pair=<a single path or a 'source:target' pair>
添加要在沙盒中装载的其他路径对。
--sandbox_base=<a string> 默认值:""
让沙盒在此路径下创建其沙盒目录。在 build /测试包含许多输入文件时,在 tmpfs 上指定路径(例如/run / shm),这可能会大幅提升性能。注意:您需要在 tmpfs 上有足够的 RAM 和可用空间,以存放通过运行操作生成的输出和中间文件。
累计使用了 --sandbox_block_path=<a string>
对于在沙盒中运行的操作,禁止访问此路径。
--[no]sandbox_debug 默认值:"false”
启用沙盒功能的调试功能。这包括两项内容:首先,构建后,沙盒的根内容保持不变(如果使用了沙盒,文件系统也保持装载状态);第二,在执行时输出额外的调试信息。这有助于 Bazel 或 Starlark 规则的开发者调试因缺少输入文件等问题而失败。
--[no]sandbox_default_allow_network 默认值:"true"
默认允许通过网络访问操作;但并非所有沙盒实现都适用。
--[no]sandbox_fake_hostname 默认值:"false”
针对沙盒化操作将当前主机名更改为 'localhost'。
--[no]sandbox_fake_username 默认值:"false”
针对在沙盒中运行的操作,将当前用户名更改为 &no3。
累计使用了 --sandbox_tmpfs_path=<an absolute path>
对于沙盒化操作,请在此绝对路径上装载一个可写的空目录(如果沙盒实现支持,否则忽略)。
累计使用了 --sandbox_writable_path=<a string>
对于在沙盒中运行的操作,请将现有目录设为可在沙盒中写入(如果沙盒实现支持此目录,否则可忽略)。
--[no]show_loading_progress 默认值:"true"
如果启用此选项,则会使 Bazel 输出“正在加载软件包:”消息。
--test_lang_filters=<comma-separated list of options> 默认值:""
指定以英文逗号分隔的测试语言列表。每个语言前面都可以加上 '-' 以指定排除的语言。只能找到以指定语言编写的测试目标。每种语言使用的名称应与 *_test 规则中的语言前缀相同,例如 'cc', 'java', 'py' 等。此选项会影响 --build_tests_only 行为和测试命令。
--test_size_filters=<comma-separated list of values: small, medium, large or enormous> 默认值:""
指定以英文逗号分隔的测试大小列表。每个尺寸都可以选择添加 '-' 以指定排除的尺寸。只能找到至少包含一个所含尺寸且不包含任何已排除尺寸的测试目标。此选项会影响 --build_tests_only 行为和测试命令。
--test_tag_filters=<comma-separated list of options> 默认值:""
指定以英文逗号分隔的测试标记列表。每个标记前面可以加上 '-' 以指定排除的标记。只能找到至少包含一个所含标记且不包含任何被排除的标记的测试目标。此选项会影响 --build_tests_only 行为和测试命令。
--test_timeout_filters=<comma-separated list of values: short, moderate, long or eternal> 默认值:""
指定以英文逗号分隔的测试超时时间列表。您可以在每个超时前添加 '-' 来指定排除的超时。只能找到包含至少一个已包含的超时且不包含任何已超时的测试目标。此选项会影响 --build_tests_only 行为和测试命令。
--tls_certificate=<a string> 默认值:查看说明
指定信任为服务器证书签名的 TLS 证书的路径。
--tls_client_certificate=<a string> 默认值:查看说明
指定要使用的 TLS 客户端证书;您还需要提供客户端证书以启用客户端身份验证。
--tls_client_key=<a string> 默认值:查看说明
指定要使用的 TLS 客户端密钥;您还需要提供客户端证书才能启用客户端身份验证。
累计使用了 --worker_extra_flag=<a 'name=value' assignment>
除了 --Persistent_worker 以外,还会传递给 Worker 进程的额外命令标志(例如 --worker_extra_flag=Javac=--debug)。
累计使用了 --worker_max_instances=<[name=]value, where value is an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5">
如果您使用 'worker' 策略,则可以启动多少个工作器进程(例如永久性 Java 编译器)。可指定为 [name=value],以为每个工作器助记符提供不同的值。接受整数或关键字(“"auto”、"HOST_CPUS"、"HOST_RAM"),后面可选择性地加上运算 ([-|*]&lt>float>),例如"auto","HOST_CPUS*.5"。'auto' 根据机器容量计算合理的默认值。"=value" 为未指定的助记符设置默认值。
代码: host_machine_resource_optimizations
--[no]worker_quit_after_build 默认值:"false”
启用后,所有工作器都会在构建完成后退出。
--[no]worker_sandboxing 默认值:"false”
如果启用该功能,工作器将在沙盒环境中执行。
--[no]worker_verbose 默认值:"false”
启用此政策后,系统会在工作器启动、关闭时输出详细消息...
--workspace_status_command=<path> 默认值:""
在构建开始时调用的命令,用于以键值对的形式提供有关工作区的状态信息。有关完整规范,请参阅用户手册。另请参阅 tools/buildstamp/get_workspace_status。
用于控制构建执行的选项:
--[no]check_up_to_date 默认值:"false”
切勿执行构建,只需检查构建是否是最新版本即可。如果所有目标都是最新的,则表示构建成功完成。如果需要执行任何步骤,系统会报告错误并且构建失败。
代码: execution
是否要直接文件系统调用来创建符号链接树
代码: loading_and_analysisexecutionexperimental
--[no]experimental_remotable_source_manifests 默认值:"false”
是否让源清单操作可恢复
代码: loading_and_analysisexecutionexperimental
--[no]experimental_split_coverage_postprocessing 默认值:"false”
如果为 true,则 Bazel 将在新 build 中运行覆盖率后处理以进行测试。
代码: execution
--[no]experimental_split_xml_generation 默认值:"true"
如果已设置此标记,并且测试操作未生成 test.xml 文件,则 Bazel 会使用单独的操作生成包含测试日志的虚拟 test.xml 文件。否则,Bazel 会在测试操作过程中生成 test.xml。
代码: execution
--[no]experimental_strict_fileset_output 默认值:"false”
如果启用此选项,文件集会将所有输出工件视为常规文件。它们不会遍历目录或对符号链接敏感。
代码: execution
--genrule_strategy=<comma-separated list of options> 默认值:""
指定如何执行 genrule。我们将逐步停用此标志。您可以改用 --spawn_strategy=<value> 来控制所有操作,或者使用 --strategy=Genrule=<value> 来控制 genrule。
代码: execution
--jobs=<an integer, or a keyword ("auto", "HOST_CPUS", "HOST_RAM"), optionally followed by an operation ([-|*]<float>) eg. "auto", "HOST_CPUS*.5"> [-j] 默认值:"auto"
要运行的并发作业数。接受整数或关键字(“"auto”、"HOST_CPUS"、"HOST_RAM"),后面可选择性地加上运算 ([-|*]&lt>float>),例如"auto","HOST_CPUS*.5"。值必须介于 1 到 5000 之间。如果值超过 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”
用于加载/分析阶段的并行线程数。可以用一个整数或一个关键字("自动", " 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=+required-x','required-x' 会添加到所有 Genrule 操作的执行信息中。'(?!Genrule)*。
标记:executionaffects_outputsloading_and_analysis
--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
2 {12/--strategy=AaptPackage=worker--strategy=ManifestMerger=worker2--internal_persistent_busybox_tools/--strategy=AaptPackage=worker--internal_persistent_busybox_tools
--spawn_strategy=<comma-separated list of options> 默认值:""
指定默认衍生操作的方式。接受以逗号分隔从高到低优先级的策略列表。对于每项操作,Bazel 都会选择能够执行该操作且优先级最高的策略。默认值为“remote,worker,sandboxed,local”。如需了解详情,请参阅 https://blog.bazel.build/2019/06/19/list-strategy.html。
代码: execution
累计使用了 --strategy=<a '[name=]value1[,..,valueN]' assignment>
指定如何分发其他衍生操作的编译。接受以逗号分隔从高到低优先级的策略列表。对于每项操作,Bazel 都会选择能够执行该操作且优先级最高的策略。默认值为“remote,worker,sandboxed,local”。此标志会替换 --spawn_strategy 设置的值(如果与 mnemonic Genrule 搭配使用,则使用 --genrule_strategy)。如需了解详情,请参阅 https://blog.bazel.build/2019/06/19/list-strategy.html。
代码: execution
累计使用了 --strategy_regexp=<a '<RegexFilter>=value[,value]' assignment>
替换应使用哪个衍生策略来执行具有与特定 regex_filter 匹配的描述的衍生操作。如需详细了解正则表达式匹配,请参阅 --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 will run 'Compiling //foo/bar/baz' with the 'local' strategy, but backed the order will run it with 'sandboxed'.
标记: execution
用于配置用于执行操作的工具链的选项:
--android_compiler=<a string> 默认值:查看说明
Android 目标编译器。
标记:affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 默认值:"//external:android/crosstool"
用于 Android build 的 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 应用的 Android SDK/平台。
标记:changes_inputsloading_and_analysisloses_incremental_state
--apple_compiler=<a string> 默认值:查看说明
Apple 目标编译器。用于选择工具链的变体(例如 xcode-beta)。
标记:affects_outputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 默认值:"@bazel_tools//tools/cpp:工具链"
要在 Apple 和 Objc 规则及其依赖项中使用的 crosstool 软件包的标签。
标记:loses_incremental_statechanges_inputs
--apple_grte_top=<a build target label> 默认值:查看说明
Apple 目标 grte_top。
标记:changes_inputsloading_and_analysisloses_incremental_state
--cc_output_directory_tag=<a string> 默认值:""
指定要添加到配置目录中的后缀。
标记:affects_outputsexplicit_in_output_path
--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:工具链"
用于编译 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 will add 'x86_64' to any target under the //demo 网页版除外。
代码: loading_and_analysis
--[no]experimental_enable_objc_cc_deps 默认值:"true"
允许 objc_* 规则依赖 cc_library,并使任何 objc 依赖项在编译时都使用 --cpu 设置为 "ios_<--ios_cpu>" 以便 --ios_multi_cpu 中的所有值。
标记:loading_and_analysisincompatible_change
--[no]experimental_include_xcode_execution_requirements 默认值:"false”
如果设置了此标记,则需要为每个 Xcode 操作添加一项“require-xcode:{version}”的执行要求。如果 Xcode 版本具有连字符,则还需要添加“require-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_execute_platforms() 在 WORKSPACE 文件中声明。
标记: execution
累计使用了 --extra_toolchains=<comma-separated list of options>
解析工具链期间要考虑的工具链规则。工具链可以按照确切的目标进行指定,也可以指定为目标模式。这些工具链会先于寄存器在 WORKSPACE 文件内声明,才会被注册。
标记: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 默认值:查看说明
已签入的 libc 库的标签。默认值由 crosstool 工具链选择,而且您几乎不需要替换它。
标记: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 选项也用于主机配置。如果提供此标志,则 Bazel 会使用给定 crosstool_top 的默认 libc 和编译器。
标记:loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 默认值:查看说明
如果指定,此设置会覆盖主机配置的 libc 顶级目录 (--grte_top)。
标记:action_command_linesaffects_outputs
--host_platform=<a build target label> 默认值:""
描述主机系统的平台规则的标签。
标记:affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_disable_expand_if_all_available_in_flag_set 默认值:"true"
如果为 true,则 Bazel 将不允许在 flag_sets 中指定 expand_if_all_available(有关迁移说明,请参阅 https://github.com/bazelbuild/bazel/issues/7008)。
标记:loading_and_analysisincompatible_change
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 默认值:"true"
如果为 true,则 Bazel 将不会在 c++ 工具链中启用 'host' 和 'nonhost' 功能(如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/7407)。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enable_android_toolchain_resolution 默认值:"false”
使用工具链解析选择 Android 版 Android SDK 规则(Starlark 和原生)
代码: loading_and_analysisincompatible_change
--[no]incompatible_enable_apple_toolchain_resolution 默认值:"false”
使用工具链解析技术选择 Apple SDK for Apple 规则(Starlark 和原生)
代码: 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_cpu_and_compiler_attributes_from_cc_toolchain 默认值:"true"
如果为 true,则在设置 cc_toolchain.cpu 和 cc_工具链.compiler 属性时,Bazel 会指出错误(请参阅 https://github.com/bazelbuild/bazel/issues/7075,了解迁移说明)。
标记: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> 默认值:查看说明
您的编译适配的最低操作系统版本。
标记: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> 默认值:查看说明
表示在目标平台上运行 Python 目标的 Python 解释器的 py_runtime 标签。已弃用;已被 --incompatible_use_python_toolchains 停用。
标记:loading_and_analysisaffects_outputs
--target_platform_fallback=<a build target label> 默认值:"@local_config_platform//:host"
如果未设置目标平台且没有平台映射与当前的一组标记匹配,则应使用的平台规则的标签。
标记:affects_outputschanges_inputsloading_and_analysis
--tvos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
指定用于构建 tvOS 应用的 tvOS SDK 版本。如果未指定,则使用默认 'xcode_version' 的 tvOS SDK 版本。
代码: loses_incremental_state
--watchos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
指定用于构建 watchOS 应用的 watchOS SDK 版本。如果未指定,则使用 'xcode_version' 中的默认 watchOS SDK 版本。
代码: loses_incremental_state
--xcode_version=<a string> 默认值:查看说明
如果指定,则使用指定版本的 Xcode 进行相关构建操作。如果未指定,则使用 Xcode 的执行程序默认版本。
代码: loses_incremental_state
--xcode_version_config=<a build target label> 默认值:"@bazel_tools//tools/cpp:host_xcodes"
用于在构建配置中选择 Xcode 版本的 xcode_config 规则的标签。
标记:loses_incremental_stateloading_and_analysis
用于控制命令输出的选项:
--[no]apple_enable_auto_dsym_dbg 默认值:"false”
是否强制启用 dbg build 的调试符号 (.dSYM) 文件。
标记:affects_outputsaction_command_lines
--[no]apple_generate_dsym 默认值:"false”
是否生成调试符号 (.dSYM) 文件。
标记:affects_outputsaction_command_lines
--[no]build 默认值:"true"
执行构建;这是正常行为。指定 --nobuild 会使构建在执行构建操作之前停止,如果软件包加载和分析阶段成功完成,则返回零;此模式对于测试这些阶段很有用。
标记:executionaffects_outputs
如果为 true,则为所有目标构建 Runfile 符号链接林。如果为 false,则尽可能只写入清单。
代码: affects_outputs
--[no]build_runfile_manifests 默认值:"true"
如果为 true,则为所有目标写入 Runfile 清单。如果为 false,请省略这些标记。如果值为 false,本地测试将无法运行。
代码: affects_outputs
--[no]build_test_dwp 默认值:"false”
如果启用了此选项,当以静态方式构建 C++ 测试时,将使用 ddp 文件为测试二进制文件自动构建。
标记:loading_and_analysisaffects_outputs
--cc_proto_library_header_suffixes=<comma-separated list of options> 默认值:".pb.h"
设置 cc_proto_library 创建的头文件的前缀。
标记:affects_outputsloading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated list 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_run_validations 默认值:"true"
改用 --run_validations。
标记:executionaffects_outputs
--[no]experimental_save_feature_state 默认值:"false”
将启用和请求的功能状态保存为编译输出。
标记:affects_outputsexperimental
--[no]experimental_use_validation_aspect 默认值:"false”
是否使用宽高比(用于与测试并行)执行验证操作。
标记:executionaffects_outputs
--fission=<a set of compilation modes>默认值:"no>
指定哪些编译模式可用于 C++ 编译和链接。可以是 {'fastbuild', 'dbg', 'opt'} 的任何特殊组合,也可以是特殊值 'yes' 以启用所有模式,而 ##39;no' 可以停用所有模式。
标记:loading_and_analysisaction_command_linesaffects_outputs
--[no]legacy_external_runfiles 默认值:"true"
如果为 true,则在 .runfiles/wsname/external/repo 下(以及 .runfiles/repo 下)为外部代码库构建 runfiles 符号链接林。
代码: affects_outputs
--[no]objc_generate_linkmap 默认值:"false”
指定是否生成链接映射文件。
代码: affects_outputs
累计使用了 --output_groups=<comma-separated list of options>
以英文逗号分隔的输出组名称列表,其中每个名称都带有前缀 + 或 -。前缀为 + 的组会被添加到默认输出组中,而前缀为 的组将从默认组中移除。如果至少一个组没有添加前缀,则会忽略一组默认的输出组。例如,--output_groups=+foo,+bar 会建立默认集、foo 和 bar 的并集,而 --output_groups=foo,bar 会覆盖默认集,以便只构建 foo 和 bar。
标记:executionaffects_outputs
--[no]run_validations 默认值:"true"
是否在构建过程中运行验证操作。
标记: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 默认值:"false”
生成与 AndroidX 兼容的数据绑定文件。此 API 仅用于数据绑定 v2。
标记:affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]android_databinding_use_v3_4_args 默认值:"false”
将 Android 数据绑定 v2 与 3.4.0 参数配合使用
代码: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--android_dynamic_mode=<off, default or fully> 默认值:"off"
当 cc_binary 未明确创建共享库时,确定是否动态链接 Android 规则的 C++ 依赖项。'default' 表示 Bazel 会选择动态链接。'full' 表示所有库都将动态链接。'off' 表示所有库将在主要是静态模式下的链接中。
标记:affects_outputsloading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency> 默认值:"alphabetical"
设置传递给 Android 二进制文件清单合并程序的清单的顺序。ALPHABETICAL 表示清单相对于 execroot 的路径排序。ALPHABETICAL_BY_CONFIGURATION 表示清单是相对于输出目录中配置目录的路径排序的。DEPENDENCY 表示清单按每个库的清单排序,在其依赖项的清单之前。
标记:action_command_linesexecution
--[no]android_resource_shrinking 默认值:"false”
为使用 ProGuard 的 android_binary APK 启用资源压缩。
标记:affects_outputsloading_and_analysis
累计使用了 --apple_bitcode=<'mode' or 'platform=mode', where 'mode' is none, embedded_markers or embedded, and 'platform' is ios, watchos, tvos, macos or catalyst>
为针对设备架构的编译步骤指定 Apple 位码模式。值的格式为 '[platform=]mode',其中平台(必须是 'ios'、'macos'、'tvos' 或 'watchos')是可选的。如果提供,位码模式将专门应用于该平台;如果省略,则适用于所有平台。模式必须为“无”、“嵌入式”或“嵌入式”。此选项可以多次提供。
代码: loses_incremental_state
累计使用了 --aspects=<comma-separated list of options>
要应用于顶级目标的一系列列表(以英文逗号分隔)。在该列表中,如果方面 some_aspect 通过 required_aspect_providers 指定了必需的方面提供程序,则 some_aspect 将在各部分在其前面提到的方面(在所宣传的提供商满足 some_aspect 所要求的某些方面)后运行。此外,some_aspect 将在必需的属性指定的所有必需方面之后运行。some_aspect 将可以访问这些方面的值。<bzl-file-label>%<aspect_name>,例如 '//tools:my_def.bzl%my_aspect',其中 'my_aspect' 是文件 tools/my_def.bzl 中的顶级值
--[no]build_python_zip默认值:"auto”
构建 Python 可执行 zip 文件;在 Windows 上,在其他平台上关闭
代码: affects_outputs
累计使用了 --catalyst_cpus=<comma-separated list of options>
要为其构建 Apple Catalyst 二进制文件的架构列表(以英文逗号分隔)。
标记:loses_incremental_stateloading_and_analysis
--[no]collect_code_coverage 默认值:"false”
如果指定此参数,则 Bazel 会尽可能对代码进行插桩(尽可能使用离线插桩),并在测试期间收集覆盖率信息。只有与 --instrumentation_filter 匹配的目标才会受到影响。通常情况下,不应直接指定此选项,而应改用命令“bazelCoverage&#39”。
代码: affects_outputs
--compilation_mode=<fastbuild, dbg or opt> [-c] 默认值:"fastbuild"
指定要在其中构建二进制文件的模式。值:'fastbuild', 'dbg', 'opt'
标记:affects_outputsaction_command_linesexplicit_in_output_path
累计使用了 --conlyopt=<a string>
在编译 C 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --copt=<a string>
传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--cpu=<a string> 默认值:""
目标 CPU。
标记:changes_inputsaffects_outputsexplicit_in_output_path
--cs_fdo_absolute_path=<a string> 默认值:查看说明
使用 CSFDO 个人资料信息优化编译。指定包含配置文件(原始文件或编入索引的 LLVM 配置文件)的 ZIP 文件的绝对路径名称。
代码: affects_outputs
--cs_fdo_instrument=<a string> 默认值:查看说明
使用上下文相关 FDO 插桩生成二进制文件。使用 Clang/LLVM 编译器时,它还会接受原始配置文件在运行时将被转储的目录名称。
代码: affects_outputs
--cs_fdo_profile=<a build target label> 默认值:查看说明
表示进行优化的上下文相关配置文件的 cs_fdo_profile。
代码: affects_outputs
累计使用了 --cxxopt=<a string>
在编译 C++ 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --define=<a 'name=value' assignment>
每个 --define 选项都会为 build 变量指定一项分配。
标记:changes_inputsaffects_outputs
--dynamic_mode=<off, default or fully>默认值:"default”
确定是否以动态方式链接 C++ 二进制文件。'default' 表示 Bazel 会选择动态链接。'full' 表示所有库都将动态链接。'off' 表示所有库将在主要是静态模式下的链接中。
标记:loading_and_analysisaffects_outputs
--[no]enable_fdo_profile_absolute_path 默认值:"true"
如果设置此参数,则使用 fdo_绝对_profile_path 会引发错误。
代码: affects_outputs
--[no]enable_runfiles默认值:"auto”
启用 Runfile 符号链接树;在 Windows 或其他平台上,它默认处于关闭状态。
代码: affects_outputs
累计使用了 --experimental_action_listener=<a build target label>
在某些方面已弃用。使用 action_listener 将额外的 extra 操作附加到现有构建操作。
标记:executionexperimental
--[no]experimental_android_compress_java_resources 默认值:"false”
在 APK 中压缩 Java 资源
标记: affects_outputsloading_and_analysisexperimental
--[no]experimental_android_databinding_v2 默认值:"false”
使用 Android 数据绑定 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
此标记用于控制方便的符号链接(构建后显示在工作区中的符号链接)的管理方式。可能的值:normal(默认值):已创建或删除每种类型的符号符号链接。 clean:所有符号链接都会被无条件删除。忽略:符号链接将被忽略。log_only:生成日志消息,就像传递了 'normal' 但实际上不会执行任何文件系统操作(对工具很有用)。请注意,只有名为 --symlink_prefix 的值生成的符号链接会受到影响;如果前缀发生更改,则任何现有的符号链接将保持不变。
代码: affects_outputs
此标志用于控制是否将 build eventConvenienceSymlinksIdentified 发布到 BuildEventProtocol。如果该值为 true,BuildEventProtocol 将有一个针对 quickSymlinksIdentified 的条目,其中会列出在您的工作区中创建的所有便利符号链接。如果为 false,BuildEventProtocol 中的便利 SymlinksIdentified 条目将为空。
代码: affects_outputs
累计使用了 --experimental_multi_cpu=<comma-separated list of options>
此标志允许指定多个目标 CPU。如果指定此参数,系统会忽略 --cpu 选项。
标记:affects_outputsexperimental
--experimental_objc_fastbuild_options=<comma-separated list of options> 默认值:"-O0,-DDEBUG=1"
将这些字符串用作 objc fastbuild 编译器选项。
代码: action_command_lines
--[no]experimental_omitfp 默认值:"false”
如果为 true,请将 libunwind 用于堆栈展开,并使用 -fomit-frame-pointer 和 -fasync-unwind-tables 进行编译。
标记:action_command_linesaffects_outputsexperimental
--[no]experimental_platform_in_output_dir 默认值:"false”
如果为 true,则会在输出目录名称中使用目标平台,而不是 CPU。
标记:affects_outputsexperimental
--[no]experimental_use_llvm_covmap 默认值:"false”
如果指定此参数,则启用 collect_code_coverage 后,Bazel 将生成 llvm-cov 覆盖范围地图信息,而不是 gcov。
标记:changes_inputsaffects_outputsloading_and_analysisexperimental
--fat_apk_cpu=<comma-separated list 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 文件的名称。此标记也可以接受指定为标签的文件,例如 //foo/bar:file.afdo。此类标签必须引用输入文件;您可能需要向相应的软件包添加 export_files 指令以使文件对 Bazel 可见。它还接受原始或已编入索引的 LLVM 配置文件。此标记将被 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> 将在全局范围内停用该功能。负特征始终替换正特征。此标志用于在没有 Bazel 版本的情况下发布默认功能更改。
标记:changes_inputsaffects_outputs
--[no]force_pic 默认值:"false”
如果启用此功能,所有 C++ 编译都会生成位置无关代码 ("quot;-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>
在为主机工具编译 C 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --host_copt=<a string>
向托管工具传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--host_cpu=<a string> 默认值:""
主机 CPU。
标记:changes_inputsaffects_outputs
累计使用了 --host_cxxopt=<a string>
向托管工具传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--host_force_python=<PY2 or PY3> 默认值:查看说明
覆盖主机配置的 Python 版本。可以是“PY2”或“PY3”。
标记:loading_and_analysisaffects_outputs
累计使用了 --host_linkopt=<a string>
关联主机工具时要传递给 gcc 的附加选项。
标记: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_swiftcopt=<a string>
传递给 swiftc 的其他托管工具选项。
标记:action_command_linesaffects_outputs
--[no]incompatible_avoid_conflict_dlls 默认值:"true"
启用此选项后,Windows 上 cc_library 生成的所有 C++ 动态链接库 (DLL) 都将重命名为 name_{hash}.dll,其中,系统会根据 RepositoryName 和 DLL' 的软件包路径计算哈希。如果您有一个依赖于多个同名的 cc_library 的软件包(例如 //foo/bar1:utils 和 //foo/bar2:utils),此选项就非常有用。
标记:loading_and_analysisaffects_outputsincompatible_change
--[no]incompatible_merge_genfiles_directory 默认值:"true"
如果为 true,则 genfiles 目录将折叠到 bin 目录中。
标记:affects_outputsincompatible_change
--[no]incompatible_use_platforms_repo_for_constraints 默认值:"false”
如果为 true,系统会移除 @bazel_tools 提供的限制条件设置。
标记:affects_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_cpu=<a string> 默认值:"x86_64"
指定以 iOS 编译为目标 CPU。
标记:no_opdeprecated
--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)。开启后,请在 linkopts 中为 --linkhole=1 或 linkstatic=1 或 '-static' 指定的 cc_binary 规则使用 --whole-archive 规则。这仅是为了实现向后兼容性。更好的方法是根据需要使用始终提供链接 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
--[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 编译的其他选项。
代码: 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/ 中所有抄送文件的 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/ 中除 .foo 之外的所有文件的 LTO 后端命令行中。
代码: action_command_linesaffects_outputs
--platform_suffix=<a string> 默认值:查看说明
指定要添加到配置目录中的后缀。
标记:loses_incremental_stateaffects_outputsloading_and_analysis
--propeller_optimize=<a build target label> 默认值:查看说明
使用推进器配置文件信息来优化构建目标。推进器配置文件必须至少包含两个文件之一(cc 配置文件和 ld 配置文件)。此标记接受必须引用螺旋桨配置文件输入文件的构建标签。例如,a/b/BUILD:propeller_optimize该选项必须按以下格式使用:--propeller_optimize=//a/b:propeller_profile
标记:action_command_linesaffects_outputs
--propeller_optimize_absolute_cc_profile=<a string> 默认值:查看说明
推进器优化 build 的 cc_profile 文件的绝对路径名称。
代码: affects_outputs
--propeller_optimize_absolute_ld_profile=<a string> 默认值:查看说明
推进器优化 build 的 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', &#39&//package:target
代码: 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”)。'有时' 表示删除 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
累计使用了 --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_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]enforce_constraints 默认值:"true"
检查每个目标兼容的环境,如果任何目标具有不支持相同环境的依赖项,则报告错误
标记: build_file_semantics
--[no]experimental_allow_android_library_deps_without_srcs 默认值:"false”
有助于从允许依赖项转换为无 src 的 android_library 规则的依赖项。默认情况下,仓库需要清理才能发布。
标记:eagerness_to_exitloading_and_analysis
--[no]experimental_check_desugar_deps 默认值:"true"
是否应在 Android 二进制文件级别仔细检查正确的脱糖。
标记:eagerness_to_exitloading_and_analysisexperimental
--[no]experimental_desugar_java8_libs 默认值:"false”
在适用于旧版设备的应用中是否包含受支持的 Java 8 库。
标记:affects_outputsloading_and_analysisloses_incremental_stateexperimental
--experimental_import_deps_checking=<off, warning or error>默认值:"OFF”
启用时,检查 aar_import 的依赖项是否已完成。强制执行可能会破坏构建,或者只会导致警告。
代码: loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default>默认值:"default”
如果为 true,则检查 Java 目标是否明确将所有直接使用的目标声明为依赖项。
标记:build_file_semanticseagerness_to_exit
--[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_force_strict_header_check_from_starlark 默认值:"true"
如果启用,则在 Starlark API 中设置严格的标头检查
标记: loading_and_analysischanges_inputsincompatible_change
--[no]incompatible_validate_top_level_header_inclusions 默认值:"true"
如果为 true,则 Bazel 还将验证是否包含顶级目录头文件(如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/10047)。
标记:loading_and_analysisincompatible_change
--[no]strict_filesets 默认值:"false”
如果启用此选项,跨软件包边界的文件集将报告为错误。当 check_fileset_ dependencies_recursively 停用时,它不起作用。
标记: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 3. 中使用的所有目标均导出为导出内容。
标记:build_file_semanticseagerness_to_exitincompatible_change
--[no]strict_system_includes 默认值:"false”
如果为 true,则需声明通过系统包含的路径 (-isystem) 的头文件。
标记:loading_and_analysiseagerness_to_exit
累计使用了 --target_environment=<a build target label>
声明此 build 的目标环境。必须是对“环境”规则的标签引用。如果指定,则所有顶级目标都必须与此环境兼容。
标记: changes_inputs
影响 build 签名输出的选项:
--apk_signing_method=<v1, v2, v1_v2 or v4> 默认值:"v1_v2"
用于为 APK 签名的实现
标记: action_command_linesaffects_outputsloading_and_analysis
--[no]device_debug_entitlements 默认值:"true"
如果设置了此标记,且编译模式不是 &opt 选项,objc 应用在签名时会包含调试权限。
代码: changes_inputs
--ios_signing_cert_name=<a string> 默认值:查看说明
用于 iOS 签名的证书名称。如果未设置,将回退到预配配置文件。可以是证书的钥匙串身份偏好设置或证书的通用名称(子字符串),具体取决于代码签名手册页面(签名 ID)。
标记: action_command_lines
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义:
--[no]incompatible_config_setting_private_default_visibility 默认值:"false”
如果 incompatible_enforce_config_setting_Visibility=false,则为空操作。或者,如果此标志为 false,则所有没有明确可见性属性的 config_setting 均为 //Visibility:public。如果此标志设置为 true,则 config_setting 遵循与所有其他规则相同的可见性逻辑。请参阅 https://github.com/bazelbuild/bazel/issues/12933。
标记:loading_and_analysisincompatible_change
--[no]incompatible_disallow_legacy_py_provider 默认值:"true"
No-op 即将被移除。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 默认值:"false”
如果为 true,则强制执行 config_setting 可见性限制。如果为 false,每个 config_setting 都会对每个目标可见。请参阅 https://github.com/bazelbuild/bazel/issues/12932。
标记: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
--[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/*此选项可以传递多次。最新传递的匹配参数优先。如果没有匹配的类别,则等同于上述默认行为。
代码: execution
--[no]ios_memleaks 默认值:"false”
允许在 ios_test 目标中检查内存泄漏。
代码: action_command_lines
--ios_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 iOS 应用时要模拟的设备,例如 'iPhone 6'。您可以通过在将运行模拟器的计算机上运行 #x9run 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"),后面可选择性地加上运算 ([-|*]&lt>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/*此选项可以传递多次。最新传递的匹配参数优先。如果没有匹配项,则测试仅运行一次。
累计使用了 --test_env=<a 'name=value' assignment with an optional value part>
指定要注入测试运行程序环境的其他环境变量。变量可以按名称指定(在这种情况下,将从 Bazel 客户端环境读取其值),也可以通过 name=value 对进行读取。此选项可以多次指定多个变量。仅供 'bazel test' 命令使用。
代码: test_runner
--[no]test_keep_going 默认值:"true"
停用此政策后,任何非通过的测试都会导致整个 build 停止。默认情况下,所有测试都会运行,即使某些测试未通过也是如此。
代码: execution
--test_strategy=<a string> 默认值:""
指定运行测试时使用的策略。
代码: execution
--test_timeout=<a single integer or comma-separated list of 4 integers> 默认值:"-1”
覆盖测试超时的默认测试超时值(以秒为单位)。如果仅指定一个正整数值,则该值将覆盖所有类别。如果指定了 4 个以英文逗号分隔的整数,它们将(按照此顺序)替换超时、短、长、长超时设置。无论采用哪种形式,值为 -1 均指示 blaze 针对该类别使用默认超时。
--test_tmpdir=<a path> 默认值:查看说明
指定要使用的“bazel test”的基本临时目录。
--tvos_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 tvOS 应用时要模拟的设备,例如 'Apple TV 1080p'。您可以通过在将运行模拟器的计算机上运行 #x9run simctl list devicetypes' 来获取设备列表。
代码: test_runner
--tvos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
在运行或测试时要在模拟器上运行的 tvOS 版本。
代码: test_runner
--watchos_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 watchOS 应用时要模拟的设备,例如 'Apple Watch - 38mm'。您可以通过在将运行模拟器的计算机上运行 #x9run simctl list devicetypes' 来获取设备列表。
代码: test_runner
--watchos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
在运行或测试时在模拟器上运行的 watchOS 版本。
代码: test_runner
--[no]zip_undeclared_test_outputs 默认值:"true"
如果值为 true,则未声明的测试输出将归档为 zip 文件。
标记: test_runner
触发构建时间优化的选项:
--[no]collapse_duplicate_defines 默认值:"false”
启用后,多余的“定义”将会在构建早期移除。这样可以避免某些类型的等效构建出现不必要的分析缓存丢失。
标记:loading_and_analysisloses_incremental_state
--[no]experimental_filter_library_jar_with_program_jar 默认值:"false”
过滤 ProGuard ProgramJar 以移除 LibraryJar 中也存在的任何类。
代码: action_command_lines
--[no]experimental_inmemory_dotd_files 默认值:"false”
启用后,C++ .d 文件将直接从远程构建节点在内存中传递,而不是写入磁盘。
标记:loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_inmemory_jdeps_files 默认值:"false”
启用后,从 Java 编译生成的依赖项 (.jdeps) 文件将直接从远程构建节点在内存中传递,而不是写入磁盘。
标记:loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_objc_include_scanning 默认值:"false”
是否执行扫描以获取目标 C/C++。
标记: loading_and_analysisexecutionchanges_inputs
--[no]experimental_parse_headers_skipped_if_corresponding_srcs_found 默认值:"false”
启用此选项后,如果在同一个目标中发现具有相同基本名称的源文件,则 parse_headers 功能不会创建单独的标头编译操作。
标记:loading_and_analysisaffects_outputs
--[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”
如果启用此选项,可以使用 Starcck 版本的 cc_import。
标记: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"
启用后,与测试相关的选项将被清除到 build 的顶层。启用此标记后,无法将测试构建为非测试规则的依赖项,但更改与测试相关的选项不会导致重新分析非测试规则。
标记:loading_and_analysisloses_incremental_state
--[no]use_singlejar_apkbuilder 默认值:"true"
此选项已弃用。它现在为空操作,很快就会被移除。
标记: loading_and_analysis
影响日志记录的详尽程度、格式或位置的选项:
--[no]announce 默认值:"false”
已弃用。空操作。
代码: affects_outputs
--[no]experimental_bep_target_summary 默认值:"false”
是否发布 TargetSummary 事件。
--[no]experimental_build_event_expand_filesets 默认值:"false”
如果为 true,请在呈现输出文件时展开 BEP 中的文件集。
代码: affects_outputs
如果为 true,则在呈现输出文件时完全解析 BEP 中的相对文件集符号链接。需要 --experimental_build_event_expand_filesets。
代码: affects_outputs
--experimental_build_event_upload_strategy=<a string> 默认值:查看说明
选择如何上传构建事件协议中引用的工件。
代码: affects_outputs
--[no]experimental_materialize_param_files_directly 默认值:"false”
如果实质化参数文件,请通过直接写入磁盘来实现。
代码: execution
--[no]experimental_stream_log_file_uploads 默认值:"false”
将日志文件直接流式传输到远程存储空间,而不是将其写入磁盘。
代码: affects_outputs
--explain=<a path> 默认值:查看说明
使构建系统说明构建的每个已执行步骤。说明会写入指定的日志文件。
代码: affects_outputs
--[no]legacy_important_outputs 默认值:"true"
使用此参数可禁止在 TargetComplete 事件中生成旧版的重要数据输出字段。重要的是 Bazel 到 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:60 增量算法。
代码: affects_outputs
--show_result=<an integer> 默认值:"1”
显示构建结果。对于每个目标,请说明其是否为最新版本;如果已安装,则列出构建的输出文件列表。输出的文件是用于执行复制和粘贴 shell 的便捷字符串。 此选项需要一个整数参数,该参数是不输出结果信息的目标阈值数量。因此,零会导致消息的抑制,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' 以仅输出测试状态摘要,'errors' 还会输出失败测试的测试日志,'all' 会输出所有测试的日志,而 'streamed' 会输出所有测试的实时日志(这将强制在本地执行一次测试,而不考虑策略值,每次一个)。
标记:test_runnerterminal_outputexecution
--test_summary=<short, terse, detailed, none or testcase>默认值:"short”
指定所需的测试摘要格式。有效值为 'short' 以便仅输出有关已执行测试的信息, 'terse' 以便仅输出运行失败的测试的相关信息, 'detailed' 可输出失败测试用例的详细信息,而 'none' 可省略摘要。
代码: terminal_output
--toolchain_resolution_debug=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths> 默认值:"-.*"
解析工具链解析期间的调试信息。该标志接受正则表达式,然后对照工具链类型和特定目标进行检查,以确定要进行调试。多个正则表达式可用英文逗号分隔,然后分别检查各个正则表达式。注意:此标志的输出非常复杂,可能只对工具链解析专家有用。
代码: terminal_output
--[no]verbose_explanations 默认值:"false”
增加了在启用 --explain 的情况下发出的说明的详尽程度。如果未启用 --explain,则无效。
代码: affects_outputs
--[no]verbose_failures 默认值:"false”
如果命令失败,就输出完整的命令行。
标记: terminal_output
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
累计使用了 --aspects_parameters=<a 'name=value' assignment>
指定命令行方面的参数值。每个参数值均通过 <param_name>=<param_value> 进行指定,例如 'my_param=my_val',其中 'my_param' 是 --aspects 列表中的某个方面或列表中的某个方面要求的参数。此选项可以多次使用。但是,不能多次向同一参数赋值。
代码: loading_and_analysis
累计使用了 --flag_alias=<a 'name=value' flag alias>
设置 Starlark 标志的简写名称。它接受一个格式为“<<key>=<value>"”的键值对。
代码: changes_inputs
--[no]incompatible_default_to_explicit_init_py 默认值:"false”
此标记会更改默认行为,以便不再在 Python 目标的运行文件中自动创建 __init__.py 文件。确切地说,当 py_binary 或 py_test 目标将 native_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_outputsexplicit_in_output_path
--target_pattern_file=<a string> 默认值:""
如果设置此参数,构建将从此处指定的文件中读取模式,而不是在命令行中。在此处指定文件和命令行模式是错误的。
标记: changes_inputs
其他选项,未进行分类。
--[no]build_manual_tests 默认值:"false”
强制构建带“人工”标记的测试目标。手动测试不在测试的处理范围之内。此选项会强制构建(但不执行它们)。
--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> 默认值:""
构建系统认为不存在的软件包名称列表(即使这些软件包在软件包路径上的某处可见)。删除现有软件包的子软件包 &x39;x' 时使用此选项。例如,在客户端中删除 x/y/BUILD 后,如果遇到 #&92;//x:y/z' 这个标签仍由另一 package_path 条目提供,系统可能会抱怨。指定 --deleted_packages x/y 可以避免此问题。
--[no]discard_analysis_cache 默认值:"false”
在分析阶段结束后立即舍弃分析缓存。将内存用量减少约 10%,但会使进一步增量构建的速度变慢。
--execution_log_binary_file=<a path> 默认值:查看说明
根据 src/main/protobuf/spawn.proto 将执行的衍生内容作为已分隔的 Spawn proto 记录到此文件中。首先将日志编写为无序,然后在调用结束时以稳定的顺序排序(可能占用 CPU 和内存)。相关标记:--execute_log_json_file(有序文本 json 格式)、--experimental_ execution_log_file(无序二进制 protobuf 格式)、--subcommands(在终端输出中显示子命令)。
--execution_log_json_file=<a path> 默认值:查看说明
根据 src/main/protobuf/spawn.proto,将执行的衍生内容记录到此文件中,作为带分隔符的 Spawn proto 的 json 表示形式。首先将日志编写为无序,然后在调用结束时以稳定的顺序排序(可能占用 CPU 和内存)。相关标志:相关标志:--execute_log_binary_file(有序二进制 protobuf 格式)、--experimental_ execution_log_file(无序二进制 protobuf 格式)、--subcommands(在终端输出中显示子命令)。
--[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_file=<a path> 默认值:查看说明
根据 src/main/protobuf/spawn.proto 将执行的衍生内容作为已分隔的 Spawn proto 记录到此文件中。此文件按照 Spawns 的执行顺序编写。相关标志:--execute_log_binary_file(有序二进制 protobuf 格式)、--execute_log_json_file(有序文本 json 格式)、 --subcommands(在终端输出中显示子命令)。
--[no]experimental_execution_log_spawn_metrics 默认值:"false”
在已生成的衍生日志中添加衍生指标。
--experimental_extra_action_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths> 默认值:""
在某些方面已弃用。用于过滤 extra_actions 的一系列目标。
--[no]experimental_extra_action_top_level_only 默认值:"false”
在某些方面已弃用。仅为顶级目标安排 extra_actions。
--[no]experimental_fetch_all_coverage_outputs 默认值:"false”
如果为 true,则 Bazel 会在覆盖率运行期间为每个测试提取整个覆盖率数据目录。
标记:affects_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_local_memory_estimate 默认值:"false”
估算在线可用的实际内存。默认情况下,Blaze 假定大多数操作使用固定的内存量,并将其计入总可用系统内存,无论实际有多少内存可用。该选项可以在线估算在任何给定时间的可用内存量,因此不需要准确预估指定操作将占用多少内存。
--[no]experimental_prioritize_local_actions 默认值:"true"
如果设置此参数,则只能在本地运行的操作获得资源优先,动态运行工作器获得第二次机会,动态运行的独立操作排在最后。
代码: execution
--[no]experimental_run_android_lint_on_java_rules 默认值:"false”
是否验证 java_* 源文件。
代码: affects_outputs
--[no]explicit_java_test_deps 默认值:"false”
在 java_test 中明确指定 JUnit 或 Hamcrest 的依赖项,以免意外从 TestRunner&s33; 的依赖项获取。目前仅适用于 Bazel。
--host_java_launcher=<a build target label> 默认值:查看说明
在构建期间执行的工具使用的 Java 启动器。
累计使用了 --host_javacopt=<a string>
构建构建期间执行的工具时要传递给 javac 的其他选项。
累计使用了 --host_jvmopt=<a string>
在构建期间执行的工具时,要向 Java 虚拟机传递的其他选项。这些选项将添加到每个 java_binary 目标的虚拟机启动选项中。
--[no]incompatible_exclusive_test_sandboxed 默认值:"false”
如果值为 true,系统将使用沙盒化策略运行专有测试。添加 'local' 标记以强制在本地运行独占测试
标记: incompatible_change
--[no]incompatible_strict_action_env 默认值:"false”
如果为 true,则 Bazel 使用的环境包含 PATH 的静态值,并且不会继承 LD_LIBRary_PATH。如果您想从客户端继承特定环境变量,请使用 --action_env=ENV_VARIABLE,但请注意,如果使用共享缓存,这样做可能会妨碍跨用户缓存。
标记:loading_and_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> 默认值:"8”
Java 语言版本
--java_launcher=<a build target label> 默认值:查看说明
构建 Java 二进制文件时使用的 Java 启动器。如果此标志设置为空字符串,则使用 JDK 启动器。“launcher”属性会替换此标志。
--java_runtime_version=<a string> 默认值:"local_jdk"
Java 运行时版本
累计使用了 --javacopt=<a string>
传递给 javac 的其他选项。
累计使用了 --jvmopt=<a string>
传递给 Java 虚拟机的其他选项。这些选项将添加到每个 java_binary 目标的虚拟机启动选项中。
--legacy_main_dex_list_generator=<a build target label> 默认值:查看说明
指定二进制文件,以便在编译旧版 MultiDex 时生成必须包含在主 dex 中的类的列表。
--local_cpu_resources=<an integer, or "HOST_CPUS", optionally followed by [-|*]<float>.> 默认值:"HOST_CPUS"
明确设置 Bazel 可用于在本地执行的构建操作的本地 CPU 核心总数。接受整数或 HOST_CPUS,后面可以加上 [-|*]<float>(例如HOST_CPUS*.5 使用可用 CPU 核心的一半。默认情况下,("HOST_CPUS"),Bazel 会查询系统配置,以估算可用的 CPU 核心数。
--local_ram_resources=<an integer, or "HOST_RAM", optionally followed by [-|*]<float>.> 默认值:"HOST_RAM*.67"
明确设置 Bazel 可用于在本地执行的构建操作的本地主机 RAM 总大小 (MB)。接受整数或 HOST_RAM,可选择在后面加上 [-|*]<float>(例如HOST_RAM*.5 以使用可用 RAM 的一半)。默认情况下,(" HOST_RAM*.67” ),Bazel 会查询系统配置来估算可用的 RAM 容量,并将使用 67% 的 RAM。
--local_termination_grace_seconds=<an integer> 默认值:"15”
因超时而终止本地进程以及强制关闭本地进程之间的等待时间。
--package_path=<colon-separated list of options> 默认值:"%workspace%"
以英文冒号分隔的列表,用于查找软件包的位置。以 '%workspace%' 开头的元素与封闭工作区相关。如果省略或为空,则默认为 'bazel info default-package-path'。
累计使用了 --plugin=<a build target label>
要在 build 中使用的插件。目前支持 java_plugin。
--proguard_top=<a build target label> 默认值:查看说明
指定在构建 Java 二进制文件时用于移除代码的 ProGuard 版本。
--proto_compiler=<a build target label> 默认值:"@com_google_protobuf//:protoc"
proto 编译器的标签。
标记:affects_outputsloading_and_analysis
--proto_toolchain_for_cc=<a build target label> 默认值:"@com_google_protobuf//:cc_工具链"
proto_lang_toolchain() 的标签,介绍了如何编译 C++ proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_j2objc=<a build target label> 默认值:"@bazel_tools//tools/j2objc:j2objc_proto_工具链"
proto_lang_toolchain() 的标签,介绍了如何编译 j2objc proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_java=<a build target label> 默认值:"@com_google_protobuf//:java_工具链"
proto_lang_toolchain() 的标签,说明如何编译 Java proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_javalite=<a build target label> 默认值:"@com_google_protobuf//:javalite_工具链"
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 使用的 shell 可执行文件的绝对路径。如果未设置此参数,但 BZEL_SH 环境变量是在第一次 Bazel 调用(启动 Bazel 服务器)时设置的,则 Bazel 将使用该变量。如果二者均未设置,则 Bazel 会根据其运行所在的操作系统使用硬编码的默认路径(Windows:c:/tools/msys64/usr/bin/bash.exe,FreeBSD:/usr/local/bin/bash,所有其他类型:/bin/bash)。请注意,使用与 bash 不兼容的 shell 可能会导致生成的二进制文件出现构建失败或运行时失败。
代码: loading_and_analysis
--[no]show_loading_progress 默认值:"true"
如果启用此选项,则会使 Bazel 输出“正在加载软件包:”消息。
累计使用了 --test_arg=<a string>
指定应传递给测试可执行文件的其他选项和参数。可以多次指定多个参数。如果执行了多个测试,每个测试将收到相同的参数。仅供 'bazel test' 命令使用。
--test_filter=<a string> 默认值:查看说明
指定用于转发到测试框架的过滤器。用于限制运行的测试。请注意,这不会影响构建的目标。
--test_lang_filters=<comma-separated list of options> 默认值:""
指定以英文逗号分隔的测试语言列表。每个语言前面都可以加上 '-' 以指定排除的语言。只能找到以指定语言编写的测试目标。每种语言使用的名称应与 *_test 规则中的语言前缀相同,例如 'cc', 'java', 'py' 等。此选项会影响 --build_tests_only 行为和测试命令。
--test_result_expiration=<an integer> 默认值:"-1”
此选项已弃用,不起作用。
--[no]test_runner_fail_fast 默认值:"false”
向测试运行程序转发的“快速失败”选项。测试运行程序应在第一次失败后停止执行。
--test_sharding_strategy=<explicit or disabled> 默认值:"explicit"
指定测试分片策略:'explicit' to use sharding only if 'shard_count' BUILD attribute. 'disabled' 切勿使用测试分片。
--test_size_filters=<comma-separated list of values: small, medium, large or enormous> 默认值:""
指定以英文逗号分隔的测试大小列表。每个尺寸都可以选择添加 '-' 以指定排除的尺寸。只能找到至少包含一个所含尺寸且不包含任何已排除尺寸的测试目标。此选项会影响 --build_tests_only 行为和测试命令。
--test_tag_filters=<comma-separated list of options> 默认值:""
指定以英文逗号分隔的测试标记列表。每个标记前面可以加上 '-' 以指定排除的标记。只能找到至少包含一个所含标记且不包含任何被排除的标记的测试目标。此选项会影响 --build_tests_only 行为和测试命令。
--test_timeout_filters=<comma-separated list of values: short, moderate, long or eternal> 默认值:""
指定以英文逗号分隔的测试超时时间列表。您可以在每个超时前添加 '-' 来指定排除的超时。只能找到包含至少一个已包含的超时且不包含任何已超时的测试目标。此选项会影响 --build_tests_only 行为和测试命令。
--tool_java_language_version=<a string> 默认值:"8”
用于执行构建期间所需的工具的 Java 语言版本
--tool_java_runtime_version=<a string> 默认值:"remotejdk_11"
用于在构建期间执行工具的 Java 运行时版本
--[no]use_ijars 默认值:"true"
如果启用此选项,Java 编译将使用接口 jar。这将加快增量编译的速度,但错误消息可能会有所不同。

规范化标记选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制命令输出的选项:
--[no]canonicalize_policy 默认值:"false”
在展开和过滤后输出规范政策。为了确保输出干净,在此选项设置为 true 时,不会显示规范化的命令参数。请注意,--for_command 指定的命令会影响过滤的政策,如果未指定任何选项,则默认命令为 &build。
标记:affects_outputsterminal_output
--[no]show_warnings 默认值:"false”
将解析器警告输出为标准错误(例如,对于存在冲突的标记选项)。
标记:affects_outputsterminal_output
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
--[no]incompatible_config_setting_private_default_visibility 默认值:"false”
如果 incompatible_enforce_config_setting_Visibility=false,则为空操作。或者,如果此标志为 false,则所有没有明确可见性属性的 config_setting 均为 //Visibility:public。如果此标志设置为 true,则 config_setting 遵循与所有其他规则相同的可见性逻辑。请参阅 https://github.com/bazelbuild/bazel/issues/12933。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 默认值:"false”
如果为 true,则强制执行 config_setting 可见性限制。如果为 false,每个 config_setting 都会对每个目标可见。请参阅 https://github.com/bazelbuild/bazel/issues/12932。
标记: loading_and_analysisincompatible_change
影响日志记录的详尽程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
--deleted_packages=<comma-separated list of package names> 默认值:""
构建系统认为不存在的软件包名称列表(即使这些软件包在软件包路径上的某处可见)。删除现有软件包的子软件包 &x39;x' 时使用此选项。例如,在客户端中删除 x/y/BUILD 后,如果遇到 #&92;//x:y/z' 这个标签仍由另一 package_path 条目提供,系统可能会抱怨。指定 --deleted_packages x/y 可以避免此问题。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
--package_path=<colon-separated list of options> 默认值:"%workspace%"
以英文冒号分隔的列表,用于查找软件包的位置。以 '%workspace%' 开头的元素与封闭工作区相关。如果省略或为空,则默认为 'bazel info default-package-path'。
--[no]show_loading_progress 默认值:"true"
如果启用此选项,则会使 Bazel 输出“正在加载软件包:”消息。

清理选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制命令输出的选项:
--[no]async 默认值:"false”
如果为 true,则输出清理是异步的。此命令完成后,可以在同一客户端中执行新命令,即使删除操作可能会在后台继续执行。
代码: host_machine_resource_optimizations
--[no]expunge 默认值:"false”
如果为 true,清理操作会移除此 Bazel 实例的整个工作树,包括 bazel 创建的所有临时和构建输出文件,并停止 bazel 服务器(如果它正在运行)。
代码: host_machine_resource_optimizations
--expunge_async
如果指定,清理操作会异步移除此 Bazel 实例的整个工作树,包括 bazel 创建的所有临时和构建输出文件,并停止 bazel 服务器(如果它正在运行)。此命令完成后,可以在同一客户端中执行新命令,即使删除操作可能会在后台继续执行。
扩展为:
--expunge
--async

代码: host_machine_resource_optimizations
如果为 true,系统将删除工作区中所有带有前缀 symlink_prefix 的符号链接。如果没有此标记,系统只会清除带有预定义后缀的符号链接。
标记: affects_outputs
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

配置选项

保修选项

继承 test 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

Cquery 选项

继承 test 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
标记: no_opdeprecatedexperimental
与查询输出和语义相关的选项:
--aspect_deps=<off, conservative or precise> 默认值:“保守型”
如果输出格式是 {xml,proto,record} 之一,如何解析宽高比依赖项。'off' 表示系统不会解析任何宽高比依赖项(默认值),表示所有已声明的宽高比依赖项都会被添加,无论它们是否被赋予了直接依赖项的规则类;'precise' 表示系统只会添加那些可能属于直接依赖项规则类别的方面。请注意,精确模式需要加载其他软件包来评估单个目标,因此它会比其他模式慢。另请注意,即使是精确模式,也并非完全精确:是否在计算阶段决定是否计算某个方面,此期间不会在“ Bazel 查询”期间运行。
代码: build_file_semantics
--[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: no-op(始终遵循规范)。
代码: terminal_output
--[no]incompatible_display_source_file_location 默认值:"true"
默认情况下为 true,显示源文件的目标。如果为 true,则在位置输出中显示源文件第 1 行的位置。此标志仅用于迁移目的。
标记:terminal_outputincompatible_change
--[no]infer_universe_scope 默认值:"false”
如果设置此参数并且未设置 --universe_scope,则系统会将 --universe_scope 的值推断为查询表达式中的唯一目标模式的列表。请注意,针对使用 Universe 范围函数(例如 `allrdeps`)的查询表达式推断的 --universe_scope 值可能不是您想要的,因此只有在您知道自己要执行的操作时,才应使用此选项。如需了解详情和示例,请参阅 https://bazel.build/versions/reference/query#sky-query。如果设置了 --universe_scope,则忽略此选项的值。注意:此选项仅适用于“查询”(即不适用于“cquery”)。
标记: loading_and_analysis
--[no]line_terminator_null 默认值:"false”
各种格式是否都以 \0 而不是换行符结尾。
代码: terminal_output
--[no]nodep_deps 默认值:"true"
如果启用,来自“nodep”属性的依赖项将包含在执行查询的依赖项关系图中。“nodep”属性的一个常见示例是 " visibility"。运行并解析“info build-language”的输出,了解 build 语言中的所有“nodep”属性。
代码: build_file_semantics
--output=<a string> 默认值:"label"
应输出 cquery 结果的格式。cquery 允许使用的值包括:label、label_Kind、textproto、transitions、proto、jsonproto。如果选择 'transitions' 还必须指定 --transitions=(lite|full) 选项。
代码: terminal_output
--[no]proto:default_values 默认值:"true"
如果为 true,则未在 Build 文件中明确指定其值的属性;否则会忽略这些属性。此选项适用于 --output=proto
标记:terminal_output
--[no]proto:definition_stack 默认值:"false”
填充 define_stack proto 字段,该字段为每条规则实例在定义规则的类时记录 Starlark 调用堆栈。
代码: terminal_output
--[no]proto:flatten_selects 默认值:"true"
启用后,系统会对通过 select() 创建的可配置属性进行扁平化处理。对于列表类型,扁平化表示是一个列表,其中包含所选映射的每个值仅一次。标量类型展平为 null。
代码: build_file_semantics
--[no]proto:include_configurations 默认值:"true"
(如果启用),proto 输出将包含有关配置的信息。停用后,cquery proto 输出格式类似于查询输出格式。
代码: affects_outputs
--[no]proto:include_synthetic_attribute_hash 默认值:"false”
是否计算并填充 $internal_attr_hash 属性。
代码: terminal_output
--[no]proto:instantiation_stack 默认值:"false”
填充每条规则的实例化调用堆栈。请注意,这要求存在堆栈
标记:terminal_output
--[no]proto:locations 默认值:"true"
是否要在 proto 输出中输出位置信息。
代码: terminal_output
--proto:output_rule_attrs=<comma-separated list of options>默认值:"all"
要包含在输出中的特性列表(以英文逗号分隔)。默认为所有属性。设置为空字符串不会输出任何属性。此选项适用于 --output=proto。
代码: terminal_output
--[no]proto:rule_inputs_and_outputs 默认值:"true"
是否填充规则_输入和规则输出字段。
代码: terminal_output
--[no]relative_locations 默认值:"false”
如果为 true,build 文件在 xml 和 proto 输出中的位置将是相对位置。默认情况下,位置输出是绝对路径,在各台计算机上不一致。您可以将此选项设置为 true,以便在多台计算机上获得一致的结果。
代码: terminal_output
--show_config_fragments=<off, direct or transitive> 默认值:"off"
显示规则及其传递依赖项所需的配置 Fragment。这对于评估可以缩减多少配置的目标图非常有用。
代码: affects_outputs
--starlark:expr=<a string> 默认值:""
用于在 cquery's --output=starlark 模式下设置每个已配置目标值的 Starlark 表达式。配置的目标会绑定到 &target 3.如果未指定 --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&协议编译器规则的依赖项)通常指向在构建期间执行的工具,而不是同一目标程序的一部分。{0}{/1} Cquery:停用时,从发现此配置目标的顶级目标中,过滤掉跨主机或执行过渡的所有已配置目标。这意味着,如果顶级目标位于目标配置中,则仅返回目标配置中配置的目标。如果顶级目标在主机配置中,则仅返回主机配置的目标。此选项不会排除已解析的工具链。
代码: build_file_semantics
--transitions=<full, lite or none>默认值:"none"
cquery 将输出转换信息的格式。
代码: affects_outputs
--universe_scope=<comma-separated list of options> 默认值:""
一系列以英文逗号分隔的目标值(累加和递减)。查询可以按照指定目标的传递关闭定义的宇宙执行。此选项用于查询和 cquery 命令。对于 cquery,此选项的输入是所有答案的构建目标,因此该选项可能会影响配置和转换。如果未指定该选项,则假定顶级目标是从查询表达式解析的目标。注意:对于 cquery,如果无法通过顶级选项从查询表达式中解析的目标进行构建,那么不指定此选项可能会导致构建中断。
标记: loading_and_analysis
影响日志记录的详尽程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
用于控制构建执行的选项:
是否要直接文件系统调用来创建符号链接树
代码: loading_and_analysisexecutionexperimental
--[no]experimental_remotable_source_manifests 默认值:"false”
是否让源清单操作可恢复
代码: loading_and_analysisexecutionexperimental
--[no]experimental_split_coverage_postprocessing 默认值:"false”
如果为 true,则 Bazel 将在新 build 中运行覆盖率后处理以进行测试。
代码: execution
--[no]experimental_strict_fileset_output 默认值:"false”
如果启用此选项,文件集会将所有输出工件视为常规文件。它们不会遍历目录或对符号链接敏感。
代码: execution
--modify_execution_info=<regex=[+-]key,regex=[+-]key,...> 默认值:""
根据操作助记符在操作执行信息中添加或移除键。仅适用于支持执行信息的操作。许多常见的操作都支持执行信息,例如 Genrule、CppCompile、Javac、StarlarkAction、TestRunner。指定多个值时,顺序很重要,因为许多正则表达式可能适用于同一助记符。 语法:"regex=[+-]key,regex=[+-]key,..."。 示例:'.*=+x,.*=-y,.*=+z' 添加 'x' 以及 'z' 以及从所有操作的执行信息中移除 'y'。'Genrule=+required-x','required-x' 会添加到所有 Genrule 操作的执行信息中。'(?!Genrule)*。
标记:executionaffects_outputsloading_and_analysis
--persistent_android_resource_processor
使用工作器启用永久性 Android 资源处理器。
--strategy=ManifestMerger=worker
--android_compiler=<a string> 默认值:查看说明
Android 目标编译器。
标记:affects_outputsloading_and_analysisloses_incremental_state
--android_crosstool_top=<a build target label> 默认值:"//external:android/crosstool"
用于 Android build 的 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 应用的 Android SDK/平台。
标记:changes_inputsloading_and_analysisloses_incremental_state
--apple_compiler=<a string> 默认值:查看说明
Apple 目标编译器。用于选择工具链的变体(例如 xcode-beta)。
标记:affects_outputsloading_and_analysisloses_incremental_state
--apple_crosstool_top=<a build target label> 默认值:"@bazel_tools//tools/cpp:工具链"
要在 Apple 和 Objc 规则及其依赖项中使用的 crosstool 软件包的标签。
标记:loses_incremental_statechanges_inputs
--apple_grte_top=<a build target label> 默认值:查看说明
Apple 目标 grte_top。
标记:changes_inputsloading_and_analysisloses_incremental_state
--cc_output_directory_tag=<a string> 默认值:""
指定要添加到配置目录中的后缀。
标记:affects_outputsexplicit_in_output_path
--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:工具链"
用于编译 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 will add 'x86_64' to any target under the //demo 网页版除外。
代码: loading_and_analysis
--[no]experimental_enable_objc_cc_deps 默认值:"true"
允许 objc_* 规则依赖 cc_library,并使任何 objc 依赖项在编译时都使用 --cpu 设置为 "ios_<--ios_cpu>" 以便 --ios_multi_cpu 中的所有值。
标记:loading_and_analysisincompatible_change
--[no]experimental_include_xcode_execution_requirements 默认值:"false”
如果设置了此标记,则需要为每个 Xcode 操作添加一项“require-xcode:{version}”的执行要求。如果 Xcode 版本具有连字符,则还需要添加“require-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_execute_platforms() 在 WORKSPACE 文件中声明。
标记: execution
累计使用了 --extra_toolchains=<comma-separated list of options>
解析工具链期间要考虑的工具链规则。工具链可以按照确切的目标进行指定,也可以指定为目标模式。这些工具链会先于寄存器在 WORKSPACE 文件内声明,才会被注册。
标记: affects_outputschanges_inputsloading_and_analysis
--grte_top=<a label> 默认值:查看说明
已签入的 libc 库的标签。默认值由 crosstool 工具链选择,而且您几乎不需要替换它。
标记: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 选项也用于主机配置。如果提供此标志,则 Bazel 会使用给定 crosstool_top 的默认 libc 和编译器。
标记:loading_and_analysischanges_inputsaffects_outputs
--host_grte_top=<a label> 默认值:查看说明
如果指定,此设置会覆盖主机配置的 libc 顶级目录 (--grte_top)。
标记:action_command_linesaffects_outputs
--host_platform=<a build target label> 默认值:""
描述主机系统的平台规则的标签。
标记:affects_outputschanges_inputsloading_and_analysis
--[no]incompatible_disable_expand_if_all_available_in_flag_set 默认值:"true"
如果为 true,则 Bazel 将不允许在 flag_sets 中指定 expand_if_all_available(有关迁移说明,请参阅 https://github.com/bazelbuild/bazel/issues/7008)。
标记:loading_and_analysisincompatible_change
--[no]incompatible_dont_enable_host_nonhost_crosstool_features 默认值:"true"
如果为 true,则 Bazel 将不会在 c++ 工具链中启用 'host' 和 'nonhost' 功能(如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/7407)。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enable_android_toolchain_resolution 默认值:"false”
使用工具链解析选择 Android 版 Android SDK 规则(Starlark 和原生)
代码: loading_and_analysisincompatible_change
--[no]incompatible_enable_apple_toolchain_resolution 默认值:"false”
使用工具链解析技术选择 Apple SDK for Apple 规则(Starlark 和原生)
代码: 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_cpu_and_compiler_attributes_from_cc_toolchain 默认值:"true"
如果为 true,则在设置 cc_toolchain.cpu 和 cc_工具链.compiler 属性时,Bazel 会指出错误(请参阅 https://github.com/bazelbuild/bazel/issues/7075,了解迁移说明)。
标记: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> 默认值:查看说明
您的编译适配的最低操作系统版本。
标记: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> 默认值:查看说明
表示在目标平台上运行 Python 目标的 Python 解释器的 py_runtime 标签。已弃用;已被 --incompatible_use_python_toolchains 停用。
标记:loading_and_analysisaffects_outputs
--target_platform_fallback=<a build target label> 默认值:"@local_config_platform//:host"
如果未设置目标平台且没有平台映射与当前的一组标记匹配,则应使用的平台规则的标签。
标记:affects_outputschanges_inputsloading_and_analysis
--tvos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
指定用于构建 tvOS 应用的 tvOS SDK 版本。如果未指定,则使用默认 'xcode_version' 的 tvOS SDK 版本。
代码: loses_incremental_state
--watchos_sdk_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
指定用于构建 watchOS 应用的 watchOS SDK 版本。如果未指定,则使用 'xcode_version' 中的默认 watchOS SDK 版本。
代码: loses_incremental_state
--xcode_version=<a string> 默认值:查看说明
如果指定,则使用指定版本的 Xcode 进行相关构建操作。如果未指定,则使用 Xcode 的执行程序默认版本。
代码: loses_incremental_state
--xcode_version_config=<a build target label> 默认值:"@bazel_tools//tools/cpp:host_xcodes"
用于在构建配置中选择 Xcode 版本的 xcode_config 规则的标签。
标记:loses_incremental_stateloading_and_analysis
用于控制命令输出的选项:
--[no]apple_enable_auto_dsym_dbg 默认值:"false”
是否强制启用 dbg build 的调试符号 (.dSYM) 文件。
标记:affects_outputsaction_command_lines
--[no]apple_generate_dsym 默认值:"false”
是否生成调试符号 (.dSYM) 文件。
标记:affects_outputsaction_command_lines
如果为 true,则为所有目标构建 Runfile 符号链接林。如果为 false,则尽可能只写入清单。
代码: affects_outputs
--[no]build_runfile_manifests 默认值:"true"
如果为 true,则为所有目标写入 Runfile 清单。如果为 false,请省略这些标记。如果值为 false,本地测试将无法运行。
代码: affects_outputs
--[no]build_test_dwp 默认值:"false”
如果启用了此选项,当以静态方式构建 C++ 测试时,将使用 ddp 文件为测试二进制文件自动构建。
标记:loading_and_analysisaffects_outputs
--cc_proto_library_header_suffixes=<comma-separated list of options> 默认值:".pb.h"
设置 cc_proto_library 创建的头文件的前缀。
标记:affects_outputsloading_and_analysis
--cc_proto_library_source_suffixes=<comma-separated list 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>默认值:"no>
指定哪些编译模式可用于 C++ 编译和链接。可以是 {'fastbuild', 'dbg', 'opt'} 的任何特殊组合,也可以是特殊值 'yes' 以启用所有模式,而 ##39;no' 可以停用所有模式。
标记:loading_and_analysisaction_command_linesaffects_outputs
--[no]legacy_external_runfiles 默认值:"true"
如果为 true,则在 .runfiles/wsname/external/repo 下(以及 .runfiles/repo 下)为外部代码库构建 runfiles 符号链接林。
代码: affects_outputs
--[no]objc_generate_linkmap 默认值:"false”
指定是否生成链接映射文件。
代码: affects_outputs
--[no]save_temps 默认值:"false”
设置后,系统会保存 gcc 中的临时输出。其中包括 .s 文件(汇编代码)、.i 文件(经过预处理的 C)和 .ii 文件(经过预处理的 C++)。
代码: affects_outputs
允许用户配置预期输出,从而影响其值,而非其存在的值:
累计使用了 --action_env=<a 'name=value' assignment with an optional value part>
指定适用于具有目标配置的操作的一组环境变量。变量可以按名称指定(在这种情况下,值将从调用环境中获取),也可以通过 name=value 对(设置值与调用环境无关)进行指定。此选项可多次使用;对于针对同一变量提供的选项,最新获胜情况以及不同变量累积选项。
代码: action_command_lines
--android_cpu=<a string> 默认值:"armeabi-v7a"
Android 目标 CPU。
标记:affects_outputsloading_and_analysisloses_incremental_state
--[no]android_databinding_use_androidx 默认值:"false”
生成与 AndroidX 兼容的数据绑定文件。此 API 仅用于数据绑定 v2。
标记:affects_outputsloading_and_analysisloses_incremental_stateexperimental
--[no]android_databinding_use_v3_4_args 默认值:"false”
将 Android 数据绑定 v2 与 3.4.0 参数配合使用
代码: affects_outputsloading_and_analysisloses_incremental_stateexperimental
--android_dynamic_mode=<off, default or fully> 默认值:"off"
当 cc_binary 未明确创建共享库时,确定是否动态链接 Android 规则的 C++ 依赖项。'default' 表示 Bazel 会选择动态链接。'full' 表示所有库都将动态链接。'off' 表示所有库将在主要是静态模式下的链接中。
标记:affects_outputsloading_and_analysis
--android_manifest_merger_order=<alphabetical, alphabetical_by_configuration or dependency> 默认值:"alphabetical"
设置传递给 Android 二进制文件清单合并程序的清单的顺序。ALPHABETICAL 表示清单相对于 execroot 的路径排序。ALPHABETICAL_BY_CONFIGURATION 表示清单是相对于输出目录中配置目录的路径排序的。DEPENDENCY 表示清单按每个库的清单排序,在其依赖项的清单之前。
标记:action_command_linesexecution
--[no]android_resource_shrinking 默认值:"false”
为使用 ProGuard 的 android_binary APK 启用资源压缩。
标记:affects_outputsloading_and_analysis
累计使用了 --apple_bitcode=<'mode' or 'platform=mode', where 'mode' is none, embedded_markers or embedded, and 'platform' is ios, watchos, tvos, macos or catalyst>
为针对设备架构的编译步骤指定 Apple 位码模式。值的格式为 '[platform=]mode',其中平台(必须是 'ios'、'macos'、'tvos' 或 'watchos')是可选的。如果提供,位码模式将专门应用于该平台;如果省略,则适用于所有平台。模式必须为“无”、“嵌入式”或“嵌入式”。此选项可以多次提供。
代码: loses_incremental_state
--[no]build_python_zip默认值:"auto”
构建 Python 可执行 zip 文件;在 Windows 上,在其他平台上关闭
代码: affects_outputs
累计使用了 --catalyst_cpus=<comma-separated list of options>
要为其构建 Apple Catalyst 二进制文件的架构列表(以英文逗号分隔)。
标记:loses_incremental_stateloading_and_analysis
--[no]collect_code_coverage 默认值:"false”
如果指定此参数,则 Bazel 会尽可能对代码进行插桩(尽可能使用离线插桩),并在测试期间收集覆盖率信息。只有与 --instrumentation_filter 匹配的目标才会受到影响。通常情况下,不应直接指定此选项,而应改用命令“bazelCoverage&#39”。
代码: affects_outputs
--compilation_mode=<fastbuild, dbg or opt> [-c] 默认值:"fastbuild"
指定要在其中构建二进制文件的模式。值:'fastbuild', 'dbg', 'opt'
标记:affects_outputsaction_command_linesexplicit_in_output_path
累计使用了 --conlyopt=<a string>
在编译 C 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --copt=<a string>
传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--cpu=<a string> 默认值:""
目标 CPU。
标记:changes_inputsaffects_outputsexplicit_in_output_path
--cs_fdo_absolute_path=<a string> 默认值:查看说明
使用 CSFDO 个人资料信息优化编译。指定包含配置文件(原始文件或编入索引的 LLVM 配置文件)的 ZIP 文件的绝对路径名称。
代码: affects_outputs
--cs_fdo_instrument=<a string> 默认值:查看说明
使用上下文相关 FDO 插桩生成二进制文件。使用 Clang/LLVM 编译器时,它还会接受原始配置文件在运行时将被转储的目录名称。
代码: affects_outputs
--cs_fdo_profile=<a build target label> 默认值:查看说明
表示进行优化的上下文相关配置文件的 cs_fdo_profile。
代码: affects_outputs
累计使用了 --cxxopt=<a string>
在编译 C++ 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --define=<a 'name=value' assignment>
每个 --define 选项都会为 build 变量指定一项分配。
标记:changes_inputsaffects_outputs
--dynamic_mode=<off, default or fully>默认值:"default”
确定是否以动态方式链接 C++ 二进制文件。'default' 表示 Bazel 会选择动态链接。'full' 表示所有库都将动态链接。'off' 表示所有库将在主要是静态模式下的链接中。
标记:loading_and_analysisaffects_outputs
--[no]enable_fdo_profile_absolute_path 默认值:"true"
如果设置此参数,则使用 fdo_绝对_profile_path 会引发错误。
代码: affects_outputs
--[no]enable_runfiles默认值:"auto”
启用 Runfile 符号链接树;在 Windows 或其他平台上,它默认处于关闭状态。
代码: affects_outputs
累计使用了 --experimental_action_listener=<a build target label>
在某些方面已弃用。使用 action_listener 将额外的 extra 操作附加到现有构建操作。
标记:executionexperimental
--[no]experimental_android_compress_java_resources 默认值:"false”
在 APK 中压缩 Java 资源
标记: affects_outputsloading_and_analysisexperimental
--[no]experimental_android_databinding_v2 默认值:"false”
使用 Android 数据绑定 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
--experimental_objc_fastbuild_options=<comma-separated list of options> 默认值:"-O0,-DDEBUG=1"
将这些字符串用作 objc fastbuild 编译器选项。
代码: action_command_lines
--[no]experimental_omitfp 默认值:"false”
如果为 true,请将 libunwind 用于堆栈展开,并使用 -fomit-frame-pointer 和 -fasync-unwind-tables 进行编译。
标记:action_command_linesaffects_outputsexperimental
--[no]experimental_platform_in_output_dir 默认值:"false”
如果为 true,则会在输出目录名称中使用目标平台,而不是 CPU。
标记:affects_outputsexperimental
--[no]experimental_use_llvm_covmap 默认值:"false”
如果指定此参数,则启用 collect_code_coverage 后,Bazel 将生成 llvm-cov 覆盖范围地图信息,而不是 gcov。
标记:changes_inputsaffects_outputsloading_and_analysisexperimental
--fat_apk_cpu=<comma-separated list 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 文件的名称。此标记也可以接受指定为标签的文件,例如 //foo/bar:file.afdo。此类标签必须引用输入文件;您可能需要向相应的软件包添加 export_files 指令以使文件对 Bazel 可见。它还接受原始或已编入索引的 LLVM 配置文件。此标记将被 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> 将在全局范围内停用该功能。负特征始终替换正特征。此标志用于在没有 Bazel 版本的情况下发布默认功能更改。
标记:changes_inputsaffects_outputs
--[no]force_pic 默认值:"false”
如果启用此功能,所有 C++ 编译都会生成位置无关代码 ("quot;-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>
在为主机工具编译 C 源文件时传递给 gcc 的附加选项。
标记:action_command_linesaffects_outputs
累计使用了 --host_copt=<a string>
向托管工具传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--host_cpu=<a string> 默认值:""
主机 CPU。
标记:changes_inputsaffects_outputs
累计使用了 --host_cxxopt=<a string>
向托管工具传递给 gcc 的其他选项。
标记:action_command_linesaffects_outputs
--host_force_python=<PY2 or PY3> 默认值:查看说明
覆盖主机配置的 Python 版本。可以是“PY2”或“PY3”。
标记:loading_and_analysisaffects_outputs
累计使用了 --host_linkopt=<a string>
关联主机工具时要传递给 gcc 的附加选项。
标记: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_swiftcopt=<a string>
传递给 swiftc 的其他托管工具选项。
标记:action_command_linesaffects_outputs
--[no]incompatible_avoid_conflict_dlls 默认值:"true"
启用此选项后,Windows 上 cc_library 生成的所有 C++ 动态链接库 (DLL) 都将重命名为 name_{hash}.dll,其中,系统会根据 RepositoryName 和 DLL' 的软件包路径计算哈希。如果您有一个依赖于多个同名的 cc_library 的软件包(例如 //foo/bar1:utils 和 //foo/bar2:utils),此选项就非常有用。
标记:loading_and_analysisaffects_outputsincompatible_change
--[no]incompatible_merge_genfiles_directory 默认值:"true"
如果为 true,则 genfiles 目录将折叠到 bin 目录中。
标记:affects_outputsincompatible_change
--[no]incompatible_use_platforms_repo_for_constraints 默认值:"false”
如果为 true,系统会移除 @bazel_tools 提供的限制条件设置。
标记:affects_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_cpu=<a string> 默认值:"x86_64"
指定以 iOS 编译为目标 CPU。
标记:no_opdeprecated
--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)。开启后,请在 linkopts 中为 --linkhole=1 或 linkstatic=1 或 '-static' 指定的 cc_binary 规则使用 --whole-archive 规则。这仅是为了实现向后兼容性。更好的方法是根据需要使用始终提供链接 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
--[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 编译的其他选项。
代码: 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/ 中所有抄送文件的 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/ 中除 .foo 之外的所有文件的 LTO 后端命令行中。
代码: action_command_linesaffects_outputs
--platform_suffix=<a string> 默认值:查看说明
指定要添加到配置目录中的后缀。
标记:loses_incremental_stateaffects_outputsloading_and_analysis
--propeller_optimize=<a build target label> 默认值:查看说明
使用推进器配置文件信息来优化构建目标。推进器配置文件必须至少包含两个文件之一(cc 配置文件和 ld 配置文件)。此标记接受必须引用螺旋桨配置文件输入文件的构建标签。例如,a/b/BUILD:propeller_optimize该选项必须按以下格式使用:--propeller_optimize=//a/b:propeller_profile
标记:action_command_linesaffects_outputs
--propeller_optimize_absolute_cc_profile=<a string> 默认值:查看说明
推进器优化 build 的 cc_profile 文件的绝对路径名称。
代码: affects_outputs
--propeller_optimize_absolute_ld_profile=<a string> 默认值:查看说明
推进器优化 build 的 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', &#39&//package:target
代码: 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”)。'有时' 表示删除 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
累计使用了 --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_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]enforce_constraints 默认值:"true"
检查每个目标兼容的环境,如果任何目标具有不支持相同环境的依赖项,则报告错误
标记: build_file_semantics
--[no]experimental_allow_android_library_deps_without_srcs 默认值:"false”
有助于从允许依赖项转换为无 src 的 android_library 规则的依赖项。默认情况下,仓库需要清理才能发布。
标记:eagerness_to_exitloading_and_analysis
--[no]experimental_check_desugar_deps 默认值:"true"
是否应在 Android 二进制文件级别仔细检查正确的脱糖。
标记:eagerness_to_exitloading_and_analysisexperimental
--[no]experimental_desugar_java8_libs 默认值:"false”
在适用于旧版设备的应用中是否包含受支持的 Java 8 库。
标记:affects_outputsloading_and_analysisloses_incremental_stateexperimental
--experimental_import_deps_checking=<off, warning or error>默认值:"OFF”
启用时,检查 aar_import 的依赖项是否已完成。强制执行可能会破坏构建,或者只会导致警告。
代码: loading_and_analysis
--experimental_strict_java_deps=<off, warn, error, strict or default>默认值:"default”
如果为 true,则检查 Java 目标是否明确将所有直接使用的目标声明为依赖项。
标记:build_file_semanticseagerness_to_exit
--[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_force_strict_header_check_from_starlark 默认值:"true"
如果启用,则在 Starlark API 中设置严格的标头检查
标记: loading_and_analysischanges_inputsincompatible_change
--[no]incompatible_validate_top_level_header_inclusions 默认值:"true"
如果为 true,则 Bazel 还将验证是否包含顶级目录头文件(如需了解详情,请参阅 https://github.com/bazelbuild/bazel/issues/10047)。
标记:loading_and_analysisincompatible_change
--[no]strict_filesets 默认值:"false”
如果启用此选项,跨软件包边界的文件集将报告为错误。当 check_fileset_ dependencies_recursively 停用时,它不起作用。
标记: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 3. 中使用的所有目标均导出为导出内容。
标记:build_file_semanticseagerness_to_exitincompatible_change
--[no]strict_system_includes 默认值:"false”
如果为 true,则需声明通过系统包含的路径 (-isystem) 的头文件。
标记:loading_and_analysiseagerness_to_exit
累计使用了 --target_environment=<a build target label>
声明此 build 的目标环境。必须是对“环境”规则的标签引用。如果指定,则所有顶级目标都必须与此环境兼容。
标记: changes_inputs
影响 build 签名输出的选项:
--apk_signing_method=<v1, v2, v1_v2 or v4> 默认值:"v1_v2"
用于为 APK 签名的实现
标记: action_command_linesaffects_outputsloading_and_analysis
--[no]device_debug_entitlements 默认值:"true"
如果设置了此标记,且编译模式不是 &opt 选项,objc 应用在签名时会包含调试权限。
代码: changes_inputs
--ios_signing_cert_name=<a string> 默认值:查看说明
用于 iOS 签名的证书名称。如果未设置,将回退到预配配置文件。可以是证书的钥匙串身份偏好设置或证书的通用名称(子字符串),具体取决于代码签名手册页面(签名 ID)。
标记: action_command_lines
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义:
--[no]incompatible_disallow_legacy_py_provider 默认值:"true"
No-op 即将被移除。
标记: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]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'。您可以通过在将运行模拟器的计算机上运行 #x9run 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/*此选项可以传递多次。最新传递的匹配参数优先。如果没有匹配项,则测试仅运行一次。
累计使用了 --test_env=<a 'name=value' assignment with an optional value part>
指定要注入测试运行程序环境的其他环境变量。变量可以按名称指定(在这种情况下,将从 Bazel 客户端环境读取其值),也可以通过 name=value 对进行读取。此选项可以多次指定多个变量。仅供 'bazel test' 命令使用。
代码: test_runner
--test_timeout=<a single integer or comma-separated list of 4 integers> 默认值:"-1”
覆盖测试超时的默认测试超时值(以秒为单位)。如果仅指定一个正整数值,则该值将覆盖所有类别。如果指定了 4 个以英文逗号分隔的整数,它们将(按照此顺序)替换超时、短、长、长超时设置。无论采用哪种形式,值为 -1 均指示 blaze 针对该类别使用默认超时。
--tvos_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 tvOS 应用时要模拟的设备,例如 'Apple TV 1080p'。您可以通过在将运行模拟器的计算机上运行 #x9run simctl list devicetypes' 来获取设备列表。
代码: test_runner
--tvos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
在运行或测试时要在模拟器上运行的 tvOS 版本。
代码: test_runner
--watchos_simulator_device=<a string> 默认值:查看说明
在模拟器中运行 watchOS 应用时要模拟的设备,例如 'Apple Watch - 38mm'。您可以通过在将运行模拟器的计算机上运行 #x9run simctl list devicetypes' 来获取设备列表。
代码: test_runner
--watchos_simulator_version=<a dotted version (for example '2.3' or '3.3alpha2.4')> 默认值:查看说明
在运行或测试时在模拟器上运行的 watchOS 版本。
代码: test_runner
--[no]zip_undeclared_test_outputs 默认值:"true"
如果值为 true,则未声明的测试输出将归档为 zip 文件。
标记: test_runner
与查询输出和语义相关的选项:
--aspect_deps=<off, conservative or precise> 默认值:“保守型”
如果输出格式是 {xml,proto,record} 之一,如何解析宽高比依赖项。'off' 表示系统不会解析任何宽高比依赖项(默认值),表示所有已声明的宽高比依赖项都会被添加,无论它们是否被赋予了直接依赖项的规则类;'precise' 表示系统只会添加那些可能属于直接依赖项规则类别的方面。请注意,精确模式需要加载其他软件包来评估单个目标,因此它会比其他模式慢。另请注意,即使是精确模式,也并非完全精确:是否在计算阶段决定是否计算某个方面,此期间不会在“ Bazel 查询”期间运行。
代码: build_file_semantics
--[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: no-op(始终遵循规范)。
代码: terminal_output
--[no]incompatible_display_source_file_location 默认值:"true"
默认情况下为 true,显示源文件的目标。如果为 true,则在位置输出中显示源文件第 1 行的位置。此标志仅用于迁移目的。
标记:terminal_outputincompatible_change
--[no]infer_universe_scope 默认值:"false”
如果设置此参数并且未设置 --universe_scope,则系统会将 --universe_scope 的值推断为查询表达式中的唯一目标模式的列表。请注意,针对使用 Universe 范围函数(例如 `allrdeps`)的查询表达式推断的 --universe_scope 值可能不是您想要的,因此只有在您知道自己要执行的操作时,才应使用此选项。如需了解详情和示例,请参阅 https://bazel.build/versions/reference/query#sky-query。如果设置了 --universe_scope,则忽略此选项的值。注意:此选项仅适用于“查询”(即不适用于“cquery”)。
标记: loading_and_analysis
--[no]line_terminator_null 默认值:"false”
各种格式是否都以 \0 而不是换行符结尾。
代码: terminal_output
--[no]nodep_deps 默认值:"true"
如果启用,来自“nodep”属性的依赖项将包含在执行查询的依赖项关系图中。“nodep”属性的一个常见示例是 " visibility"。运行并解析“info build-language”的输出,了解 build 语言中的所有“nodep”属性。
代码: build_file_semantics
--output=<a string> 默认值:"label"
应输出 cquery 结果的格式。cquery 允许使用的值包括:label、label_Kind、textproto、transitions、proto、jsonproto。如果选择 'transitions' 还必须指定 --transitions=(lite|full) 选项。
代码: terminal_output
--[no]proto:default_values 默认值:"true"
如果为 true,则未在 Build 文件中明确指定其值的属性;否则会忽略这些属性。此选项适用于 --output=proto
标记:terminal_output
--[no]proto:definition_stack 默认值:"false”
填充 define_stack proto 字段,该字段为每条规则实例在定义规则的类时记录 Starlark 调用堆栈。
代码: terminal_output
--[no]proto:flatten_selects 默认值:"true"
启用后,系统会对通过 select() 创建的可配置属性进行扁平化处理。对于列表类型,扁平化表示是一个列表,其中包含所选映射的每个值仅一次。标量类型展平为 null。
代码: build_file_semantics
--[no]proto:include_configurations 默认值:"true"
(如果启用),proto 输出将包含有关配置的信息。停用后,cquery proto 输出格式类似于查询输出格式。
代码: affects_outputs
--[no]proto:include_synthetic_attribute_hash 默认值:"false”
是否计算并填充 $internal_attr_hash 属性。
代码: terminal_output
--[no]proto:instantiation_stack 默认值:"false”
填充每条规则的实例化调用堆栈。请注意,这要求存在堆栈
标记:terminal_output
--[no]proto:locations 默认值:"true"
是否要在 proto 输出中输出位置信息。
代码: terminal_output
--proto:output_rule_attrs=<comma-separated list of options>默认值:"all"
要包含在输出中的特性列表(以英文逗号分隔)。默认为所有属性。设置为空字符串不会输出任何属性。此选项适用于 --output=proto。
代码: terminal_output
--[no]proto:rule_inputs_and_outputs 默认值:"true"
是否填充规则_输入和规则输出字段。
代码: terminal_output
--[no]relative_locations 默认值:"false”
如果为 true,build 文件在 xml 和 proto 输出中的位置将是相对位置。默认情况下,位置输出是绝对路径,在各台计算机上不一致。您可以将此选项设置为 true,以便在多台计算机上获得一致的结果。
代码: terminal_output
--show_config_fragments=<off, direct or transitive> 默认值:"off"
显示规则及其传递依赖项所需的配置 Fragment。这对于评估可以缩减多少配置的目标图非常有用。
代码: affects_outputs
--starlark:expr=<a string> 默认值:""
用于在 cquery's --output=starlark 模式下设置每个已配置目标值的 Starlark 表达式。配置的目标会绑定到 &target 3.如果未指定 --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&协议编译器规则的依赖项)通常指向在构建期间执行的工具,而不是同一目标程序的一部分。{0}{/1} Cquery:停用时,从发现此配置目标的顶级目标中,过滤掉跨主机或执行过渡的所有已配置目标。这意味着,如果顶级目标位于目标配置中,则仅返回目标配置中配置的目标。如果顶级目标在主机配置中,则仅返回主机配置的目标。此选项不会排除已解析的工具链。
代码: build_file_semantics
--transitions=<full, lite or none>默认值:"none"
cquery 将输出转换信息的格式。
代码: affects_outputs
--universe_scope=<comma-separated list of options> 默认值:""
一系列以英文逗号分隔的目标值(累加和递减)。查询可以按照指定目标的传递关闭定义的宇宙执行。此选项用于查询和 cquery 命令。对于 cquery,此选项的输入是所有答案的构建目标,因此该选项可能会影响配置和转换。如果未指定该选项,则假定顶级目标是从查询表达式解析的目标。注意:对于 cquery,如果无法通过顶级选项从查询表达式中解析的目标进行构建,那么不指定此选项可能会导致构建中断。
标记: loading_and_analysis
触发构建时间优化的选项:
--[no]collapse_duplicate_defines 默认值:"false”
启用后,多余的“定义”将会在构建早期移除。这样可以避免某些类型的等效构建出现不必要的分析缓存丢失。
标记:loading_and_analysisloses_incremental_state
--[no]experimental_filter_library_jar_with_program_jar 默认值:"false”
过滤 ProGuard ProgramJar 以移除 LibraryJar 中也存在的任何类。
代码: action_command_lines
--[no]experimental_inmemory_dotd_files 默认值:"false”
启用后,C++ .d 文件将直接从远程构建节点在内存中传递,而不是写入磁盘。
标记:loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_inmemory_jdeps_files 默认值:"false”
启用后,从 Java 编译生成的依赖项 (.jdeps) 文件将直接从远程构建节点在内存中传递,而不是写入磁盘。
标记:loading_and_analysisexecutionaffects_outputsexperimental
--[no]experimental_objc_include_scanning 默认值:"false”
是否执行扫描以获取目标 C/C++。
标记: loading_and_analysisexecutionchanges_inputs
--[no]experimental_parse_headers_skipped_if_corresponding_srcs_found 默认值:"false”
启用此选项后,如果在同一个目标中发现具有相同基本名称的源文件,则 parse_headers 功能不会创建单独的标头编译操作。
标记:loading_and_analysisaffects_outputs
--[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”
如果启用此选项,可以使用 Starcck 版本的 cc_import。
标记: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"
启用后,与测试相关的选项将被清除到 build 的顶层。启用此标记后,无法将测试构建为非测试规则的依赖项,但更改与测试相关的选项不会导致重新分析非测试规则。
标记:loading_and_analysisloses_incremental_state
--[no]use_singlejar_apkbuilder 默认值:"true"
此选项已弃用。它现在为空操作,很快就会被移除。
标记: loading_and_analysis
影响日志记录的详尽程度、格式或位置的选项:
--toolchain_resolution_debug=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths> 默认值:"-.*"
解析工具链解析期间的调试信息。该标志接受正则表达式,然后对照工具链类型和特定目标进行检查,以确定要进行调试。多个正则表达式可用英文逗号分隔,然后分别检查各个正则表达式。注意:此标志的输出非常复杂,可能只对工具链解析专家有用。
标记: terminal_output
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
累计使用了 --flag_alias=<a 'name=value' flag alias>
设置 Starlark 标志的简写名称。它接受一个格式为“<<key>=<value>"”的键值对。
代码: changes_inputs
--[no]incompatible_default_to_explicit_init_py 默认值:"false”
此标记会更改默认行为,以便不再在 Python 目标的运行文件中自动创建 __init__.py 文件。确切地说,当 py_binary 或 py_test 目标将 native_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_outputsexplicit_in_output_path
其他选项,未进行分类。
--[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&s33; 的依赖项获取。目前仅适用于 Bazel。
--host_java_launcher=<a build target label> 默认值:查看说明
在构建期间执行的工具使用的 Java 启动器。
累计使用了 --host_javacopt=<a string>
构建构建期间执行的工具时要传递给 javac 的其他选项。
累计使用了 --host_jvmopt=<a string>
在构建期间执行的工具时,要向 Java 虚拟机传递的其他选项。这些选项将添加到每个 java_binary 目标的虚拟机启动选项中。
--[no]incompatible_exclusive_test_sandboxed 默认值:"false”
如果值为 true,系统将使用沙盒化策略运行专有测试。添加 'local' 标记以强制在本地运行独占测试
标记: incompatible_change
--[no]incompatible_strict_action_env 默认值:"false”
如果为 true,则 Bazel 使用的环境包含 PATH 的静态值,并且不会继承 LD_LIBRary_PATH。如果您想从客户端继承特定环境变量,请使用 --action_env=ENV_VARIABLE,但请注意,如果使用共享缓存,这样做可能会妨碍跨用户缓存。
标记:loading_and_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> 默认值:"8”
Java 语言版本
--java_launcher=<a build target label> 默认值:查看说明
构建 Java 二进制文件时使用的 Java 启动器。如果此标志设置为空字符串,则使用 JDK 启动器。“launcher”属性会替换此标志。
--java_runtime_version=<a string> 默认值:"local_jdk"
Java 运行时版本
累计使用了 --javacopt=<a string>
传递给 javac 的其他选项。
累计使用了 --jvmopt=<a string>
传递给 Java 虚拟机的其他选项。这些选项将添加到每个 java_binary 目标的虚拟机启动选项中。
--legacy_main_dex_list_generator=<a build target label> 默认值:查看说明
指定二进制文件,以便在编译旧版 MultiDex 时生成必须包含在主 dex 中的类的列表。
累计使用了 --plugin=<a build target label>
要在 build 中使用的插件。目前支持 java_plugin。
--proguard_top=<a build target label> 默认值:查看说明
指定在构建 Java 二进制文件时用于移除代码的 ProGuard 版本。
--proto_compiler=<a build target label> 默认值:"@com_google_protobuf//:protoc"
proto 编译器的标签。
标记:affects_outputsloading_and_analysis
--proto_toolchain_for_cc=<a build target label> 默认值:"@com_google_protobuf//:cc_工具链"
proto_lang_toolchain() 的标签,介绍了如何编译 C++ proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_j2objc=<a build target label> 默认值:"@bazel_tools//tools/j2objc:j2objc_proto_工具链"
proto_lang_toolchain() 的标签,介绍了如何编译 j2objc proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_java=<a build target label> 默认值:"@com_google_protobuf//:java_工具链"
proto_lang_toolchain() 的标签,说明如何编译 Java proto
标记: affects_outputsloading_and_analysis
--proto_toolchain_for_javalite=<a build target label> 默认值:"@com_google_protobuf//:javalite_工具链"
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 使用的 shell 可执行文件的绝对路径。如果未设置此参数,但 BZEL_SH 环境变量是在第一次 Bazel 调用(启动 Bazel 服务器)时设置的,则 Bazel 将使用该变量。如果二者均未设置,则 Bazel 会根据其运行所在的操作系统使用硬编码的默认路径(Windows:c:/tools/msys64/usr/bin/bash.exe,FreeBSD:/usr/local/bin/bash,所有其他类型:/bin/bash)。请注意,使用与 bash 不兼容的 shell 可能会导致生成的二进制文件出现构建失败或运行时失败。
代码: loading_and_analysis
累计使用了 --test_arg=<a string>
指定应传递给测试可执行文件的其他选项和参数。可以多次指定多个参数。如果执行了多个测试,每个测试将收到相同的参数。仅供 'bazel test' 命令使用。
--test_filter=<a string> 默认值:查看说明
指定用于转发到测试框架的过滤器。用于限制运行的测试。请注意,这不会影响构建的目标。
--test_result_expiration=<an integer> 默认值:"-1”
此选项已弃用,不起作用。
--[no]test_runner_fail_fast 默认值:"false”
向测试运行程序转发的“快速失败”选项。测试运行程序应在第一次失败后停止执行。
--test_sharding_strategy=<explicit or disabled> 默认值:"explicit"
指定测试分片策略:'explicit' to use sharding only if 'shard_count' BUILD attribute. 'disabled' 切勿使用测试分片。
--tool_java_language_version=<a string> 默认值:"8”
用于执行构建期间所需的工具的 Java 语言版本
--tool_java_runtime_version=<a string> 默认值:"remotejdk_11"
用于在构建期间执行工具的 Java 运行时版本
--[no]use_ijars 默认值:"true"
如果启用此选项,Java 编译将使用接口 jar。这将加快增量编译的速度,但错误消息可能会有所不同。

转储选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制命令输出的选项:
--[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 or detailed> 默认值:"off"
Dump Skyframe 图表:'off'、'summary'、'count' 或 'detailed'
代码: bazel_monitoring
--skyfunction_filter=<a comma-separated list of regex expressions with prefix '-' specifying excluded paths> 默认值:".*"
要输出的 SkyFunction 名称的正则表达式过滤器。仅适用于 --skyframe=detailed。
代码: bazel_monitoring
--skylark_memory=<a string> 默认值:查看说明
将与 pprof 兼容的内存配置文件转储到指定路径。如需了解详情,请访问 https://github.com/google/pprof。
标记: bazel_monitoring
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

提取选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制执行作业的选项:
如果设置为 true,Bazel 会像这样表示远程缓存/执行协议中的操作输出中的符号链接。当前行为是远程缓存/执行程序跟踪符号链接并将其表示为文件。如需了解详情,请参阅 #6631。
标记:executionincompatible_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”
用于加载/分析阶段的并行线程数。可以用一个整数或一个关键字("自动", " HOST_CPUS", " HOST_RAM"),可以选择性地在后面加上一个操作 ([-|*]<float>),例如"auto","HOST_CPUS*.5"。"auto",用于根据主机资源设置合理的默认值。必须至少为 1。
代码: bazel_internal_configuration
如果为 true,请将操作符号链接输出上传到远程缓存。如果未启用此选项,则输出符号链接的可缓存操作将会失败。
标记: execution
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
--bep_maximum_open_remote_upload_files=<an integer> 默认值:"-1”
在 BEP 工件上传期间允许的打开文件数上限。
代码: affects_outputs
--remote_download_minimal
不会将任何远程构建输出下载到本地机器。此标志是三种标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=minimal。
扩展为:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=minimal

代码: affects_outputs
--remote_download_outputs=<all, minimal or toplevel>默认值:"all"
如果设置为“minimal”,系统不会将任何远程构建输出下载到本地计算机,但本地操作所需的输出除外。如果设置为“toplevel”,则其行为类似于 minimal',但同时也会将顶级目标的输出下载到本地机器。如果网络带宽是瓶颈,这两个选项可以显著缩短构建时间。
代码: affects_outputs
创建符号链接,而不是将远程构建输出下载到本地计算机。符号链接的目标可以以模板字符串的形式指定。此模板字符串可能包含可展开为对象哈希的 {hash} 和 {size_bytes},以及以字节为单位的大小。例如,这些符号链接可能指向某个 FUSE 文件系统,该文件系统会根据需要从 CAS 加载对象。
代码: affects_outputs
--remote_download_toplevel
仅将顶级目标的远程输出下载到本地机器。此标志是三个标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=toplevel。
扩展为:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=toplevel

代码: affects_outputs
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
--[no]incompatible_config_setting_private_default_visibility 默认值:"false”
如果 incompatible_enforce_config_setting_Visibility=false,则为空操作。或者,如果此标志为 false,则所有没有明确可见性属性的 config_setting 均为 //Visibility:public。如果此标志设置为 true,则 config_setting 遵循与所有其他规则相同的可见性逻辑。请参阅 https://github.com/bazelbuild/bazel/issues/12933。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 默认值:"false”
如果为 true,则强制执行 config_setting 可见性限制。如果为 false,每个 config_setting 都会对每个目标可见。请参阅 https://github.com/bazelbuild/bazel/issues/12932。
标记: loading_and_analysisincompatible_change
影响日志记录的详尽程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
--[no]experimental_guard_against_concurrent_changes 默认值:"false”
关闭此设置可以停用在将操作上传到远程缓存之前检查该操作的输入文件的时间。在某些情况下,Linux 内核可能会延迟写入文件,进而导致误报。
--[no]experimental_remote_cache_async 默认值:"false”
如果为 true,远程缓存 I/O 将在后台进行,而不是作为衍生作品的一部分发生。
--[no]experimental_remote_cache_compression 默认值:"false”
如果此设置已启用,请使用 zstd 压缩/解压缩缓存 blob。
--experimental_remote_capture_corrupted_outputs=<a path> 默认值:查看说明
指向将捕获损坏输出的目录的路径。
--experimental_remote_downloader=<a string> 默认值:查看说明
Remote Asset API 端点 URI,用作远程下载代理。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。请参阅:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_execution_keepalive 默认值:"false”
是否要使用 keepalive 进行远程执行调用。
--experimental_remote_grpc_log=<a path> 默认值:查看说明
如果指定此参数,则为记录 gRPC 调用相关详细信息的文件的路径。此日志由一系列序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobuf 组成,每条消息都有一个前缀,表示以下序列化 protobuf 消息的大小,由方法 LogEntry.writeDelimitedTo(OutputStream) 执行。
--[no]experimental_remote_merkle_tree_cache 默认值:"false”
如果设置为 true,系统会记忆 Merkle 树,以提高远程缓存命中检查的速度。缓存的内存占用量由 --experimental_remote_merkle_tree_cache_size 控制。
--experimental_remote_merkle_tree_cache_size=<a long integer>默认值:"1000”
需要记忆的 Merkle 树数,可提高远程缓存命中检查的速度。即使根据 Java 对软引用的处理来自动删减缓存,如果设置过高,也可能会出现内存不足错误。如果设置为 0,则缓存大小无限制。具体价值因项目规模而异。默认值为 1000。
--[no]incompatible_remote_build_event_upload_respect_no_cache 默认值:"false”
如果设置为 true,则当无法远程缓存生成的操作时,BEP 引用的输出不会上传到远程缓存。
--[no]incompatible_remote_output_paths_relative_to_input_root 默认值:"false”
如果设置为 true,输出路径将相对于输入根目录而不是工作目录。
代码: incompatible_change
--[no]incompatible_remote_results_ignore_disk 默认值:"false”
如果设置为 true,则 --noremote_upload_local_results 和 --noremote_accept_cached 将不会应用于磁盘缓存。如果使用的是组合缓存: --noremote_upload_local_results 会导致结果写入磁盘缓存,但不会上传到远程缓存。 --noremote_accept_cached 将导致 Bazel 在磁盘缓存中(而不是远程缓存)检查结果。no-remote-exec 操作可能会占用磁盘缓存。 如需了解详情,请参阅 #8216。
代码: incompatible_change
--[no]remote_accept_cached 默认值:"true"
是否接受远程缓存的操作结果。
--remote_bytestream_uri_prefix=<a string> 默认值:查看说明
要写入构建事件流的 bytestream:// URI 中使用的主机名和实例名称。使用代理执行构建时可以设置此选项,这会导致 --remote_executor 和 --remote_instance_name 的值不再对应于远程执行服务的规范名称。如果未设置,则默认为“${hostname}/${instance_name}”。
--remote_cache=<a string> 默认值:查看说明
缓存端点的 URI。受支持的架构包括 http、https、grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc://、http:// 或 unix: 架构以停用 TLS。请参阅 https://dbaze.build/docs/remote-caching
累计使用了 --remote_cache_header=<a 'name=value' assignment>
指定将包含在缓存请求中的标头:--remote_cache_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_default_exec_properties=<a 'name=value' assignment>
如果执行平台尚未设置 exec_properties,请设置默认远程执行属性以用作远程执行平台。
代码: affects_outputs
--remote_default_platform_properties=<a string> 默认值:""
如果远程执行 API 尚未设置 Remote_ execution_properties ,请为远程执行 API 设置默认平台属性。如果选择主机平台作为远程执行的执行平台,系统也会使用此值。
累计使用了 --remote_downloader_header=<a 'name=value' assignment>
指定将包含在远程下载程序请求中的标头:--remote_downloader_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_exec_header=<a 'name=value' assignment>
指定将包含在执行请求中的标头:--remote_exec_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_execution_priority=<an integer> 默认值:"0”
要远程执行的操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_executor=<a string> 默认值:查看说明
远程执行端点的 HOST 或 HOST:PORT。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc:// 或 unix: 架构以停用 TLS。
累计使用了 --remote_header=<a 'name=value' assignment>
指定请求中将包含的标头:--remote_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_instance_name=<a string> 默认值:""
要在 RemoteExecution 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> 默认值:查看说明
通过代理连接到远程缓存。目前,此标志只能用于配置 Unix 网域套接字 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer> 默认值:"0”
要存储在远程缓存中的远程操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_retries=<an integer> 默认值:"5”
重试暂时性错误的最大尝试次数。如果设置为 0,系统会停用重试。
--remote_timeout=<An immutable length of time.>默认值:"60s"
远程执行和缓存调用的最长等待时间。对于 REST 缓存,这既是连接超时,也是读取超时。您可以使用以下单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。如果省略单位,则该值会被解释为秒。
--[no]remote_upload_local_results 默认值:"true"
是否将本地执行的操作结果上传到远程缓存。
--[no]remote_verify_downloads 默认值:"true"
如果设置为 true,Bazel 将计算所有远程下载内容的哈希总和,并在与预期值不匹配时舍弃远程缓存的值。
其他选项,未进行分类。
--deleted_packages=<comma-separated list of package names> 默认值:""
构建系统认为不存在的软件包名称列表(即使这些软件包在软件包路径上的某处可见)。删除现有软件包的子软件包 &x39;x' 时使用此选项。例如,在客户端中删除 x/y/BUILD 后,如果遇到 #&92;//x:y/z' 这个标签仍由另一 package_path 条目提供,系统可能会抱怨。指定 --deleted_packages x/y 可以避免此问题。
--disk_cache=<a path> 默认值:查看说明
指向 Bazel 可以读取和写入操作和操作输出的目录的路径。如果该目录不存在,系统会创建一个。
--google_auth_scopes=<comma-separated list of options> 默认值:"https://www.googleapis.com/auth/cloud-platform"
以英文逗号分隔的 Google Cloud 身份验证范围列表。
--google_credentials=<a string> 默认值:查看说明
指定从中获取身份验证凭据的文件。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials 默认值:"false”
是否使用 Google 应用默认凭据进行身份验证。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。默认处于停用状态。
--grpc_keepalive_time=<An immutable length of time.> 默认值:查看说明
为传出 gRPC 连接配置 keep-alive ping。如果设置了此选项,则 Bazel 会在连接未执行任何操作的情况下发送 ping,但仅当存在至少一个待处理的 gRPC 调用时。时间被视为第二粒度;设置的小于 1 秒是错误的。默认情况下, keep-alive ping 处于停用状态。启用此设置之前,您应与服务所有者协调。
--grpc_keepalive_timeout=<An immutable length of time.> 默认值:"20s"
配置传出 gRPC 连接的持久连接超时。如果使用 --grpc_keepalive_time 启用了 keep-alive ping,并且此时间过久仍未收到 ping 回复,则 Bazel 会超时。时间被视为第二粒度;设置的小于 1 秒是错误的。如果停用 keep-alive ping,则会忽略此设置。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
--package_path=<colon-separated list of options> 默认值:"%workspace%"
以英文冒号分隔的列表,用于查找软件包的位置。以 '%workspace%' 开头的元素与封闭工作区相关。如果省略或为空,则默认为 'bazel info default-package-path'。
--[no]show_loading_progress 默认值:"true"
如果启用此选项,则会使 Bazel 输出“正在加载软件包:”消息。
--tls_certificate=<a string> 默认值:查看说明
指定信任为服务器证书签名的 TLS 证书的路径。
--tls_client_certificate=<a string> 默认值:查看说明
指定要使用的 TLS 客户端证书;您还需要提供客户端证书以启用客户端身份验证。
--tls_client_key=<a string> 默认值:查看说明
指定要使用的 TLS 客户端密钥;您还需要提供客户端证书才能启用客户端身份验证。

帮助选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[no]experimental_record_metrics_for_all_mnemonics 默认值:"false”
默认情况下,操作类型的数量上限为执行操作数量最多的 20 个助记符。设置此选项将写入所有助记符的统计信息。
--help_verbosity=<long, medium or short>默认值:"medium"
选择帮助命令的详尽程度。
标记:affects_outputsterminal_output
--long [-l]
显示各个选项的完整说明,而不只是其名称。
扩展为:
--help_verbosity=long

代码: affects_outputsterminal_output
--short
仅显示选项的名称,而不显示选项的类型或含义。
扩展为:
--help_verbosity=short

代码: affects_outputsterminal_output
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
--experimental_resolved_file_instead_of_workspace=<a string> 默认值:""
如果非空读取指定的解析文件,而非 WORKSPACE 文件
代码: changes_inputs
远程缓存和执行选项:
--experimental_downloader_config=<a string> 默认值:查看说明
指定用于配置远程下载器的文件。此文件由多个行组成,每行都以指令(“allow”、“block”或“rewrite”)开头,后跟主机名(`allow` 和 `block`)或两种模式(一种为匹配项,另一种用作替代网址,反向引用从 `$1` 开始)。系统可能会针对同一网址提供多个 `rewrite` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

信息选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[no]experimental_record_metrics_for_all_mnemonics 默认值:"false”
默认情况下,操作类型的数量上限为执行操作数量最多的 20 个助记符。设置此选项将写入所有助记符的统计信息。
--[no]show_make_env 默认值:"false”
在输出中包含“Make”环境。
标记:affects_outputsterminal_output
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
--experimental_resolved_file_instead_of_workspace=<a string> 默认值:""
如果非空读取指定的解析文件,而非 WORKSPACE 文件
代码: changes_inputs
远程缓存和执行选项:
--experimental_downloader_config=<a string> 默认值:查看说明
指定用于配置远程下载器的文件。此文件由多个行组成,每行都以指令(“allow”、“block”或“rewrite”)开头,后跟主机名(`allow` 和 `block`)或两种模式(一种为匹配项,另一种用作替代网址,反向引用从 `$1` 开始)。系统可能会针对同一网址提供多个 `rewrite` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

许可选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

移动设备安装选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制执行作业的选项:
--mode=<classic, classic_internal_test_do_not_use or skylark>默认值:"传统版”
选择如何进行移动安装。"传统版”运行的是当前版本的移动设备安装。"skylark" - 使用支持 android_test 的新 Starlark 版本。
标记:loading_and_analysisexecutionincompatible_change
用于配置用于执行操作的工具链的选项:
--adb=<a string> 默认值:""
用于 'mobile-install' 命令的 adb 二进制文件。如果未指定,则使用 --android_sdk 命令行选项指定的 Android SDK (如果未指定 --android_sdk,则使用默认 SDK)。
标记: changes_inputs
用于控制命令输出的选项:
--[no]incremental 默认值:"false”
是否应进行增量安装。如果为 true,则通过读取要安装代码的设备的状态来避免不必要的额外工作,并使用该信息来避免不必要的工作。如果为 false(默认值),请始终执行完整安装。
代码: loading_and_analysis
--[no]split_apks 默认值:"false”
是否使用拆分 APK 在设备上安装和更新应用。仅适用于运行 Marshmallow 或更高版本的设备
代码: loading_and_analysisaffects_outputs
允许用户配置预期输出,从而影响输出值(而非实际存在的值)的选项:
累计使用了 --adb_arg=<a string>
传递给 adb 的额外参数。通常用于指定要安装的目标设备。
代码: action_command_lines
--debug_app
是否在启动应用之前等待调试程序。
扩展为:
--start=DEBUG

代码: execution
--device=<a string> 默认值:""
adb 设备序列号。如果未指定,系统会使用第一个设备。
代码: action_command_lines
--start=<no, cold, warm or debug>默认值:"NO"
应用安装后应如何启动。设置为 WARM,以在增量安装时保留和恢复应用状态。
代码: execution
--start_app
安装后是否启动应用。
扩展为:
--start=COLD

标记: execution
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[no]experimental_record_metrics_for_all_mnemonics 默认值:"false”
默认情况下,操作类型的数量上限为执行操作数量最多的 20 个助记符。设置此选项将写入所有助记符的统计信息。
--incremental_install_verbosity=<a string> 默认值:""
增量安装的详细程度。对于调试日志记录,应设置为 1。
标记: bazel_monitoring
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
--experimental_resolved_file_instead_of_workspace=<a string> 默认值:""
如果非空读取指定的解析文件,而非 WORKSPACE 文件
代码: changes_inputs
远程缓存和执行选项:
--experimental_downloader_config=<a string> 默认值:查看说明
指定用于配置远程下载器的文件。此文件由多个行组成,每行都以指令(“allow”、“block”或“rewrite”)开头,后跟主机名(`allow` 和 `block`)或两种模式(一种为匹配项,另一种用作替代网址,反向引用从 `$1` 开始)。系统可能会针对同一网址提供多个 `rewrite` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
累计使用了 --print_action_mnemonics=<a string>
列出用于过滤 print_action 数据的助记符,留空时不会进行过滤。

查询选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制执行作业的选项:
如果设置为 true,Bazel 会像这样表示远程缓存/执行协议中的操作输出中的符号链接。当前行为是远程缓存/执行程序跟踪符号链接并将其表示为文件。如需了解详情,请参阅 #6631。
标记:executionincompatible_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”
用于加载/分析阶段的并行线程数。可以用一个整数或一个关键字("自动", " HOST_CPUS", " HOST_RAM"),可以选择性地在后面加上一个操作 ([-|*]<float>),例如"auto","HOST_CPUS*.5"。"auto",用于根据主机资源设置合理的默认值。必须至少为 1。
代码: bazel_internal_configuration
如果为 true,请将操作符号链接输出上传到远程缓存。如果未启用此选项,则输出符号链接的可缓存操作将会失败。
标记: execution
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
--bep_maximum_open_remote_upload_files=<an integer> 默认值:"-1”
在 BEP 工件上传期间允许的打开文件数上限。
代码: affects_outputs
--remote_download_minimal
不会将任何远程构建输出下载到本地机器。此标志是三种标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=minimal。
扩展为:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=minimal

代码: affects_outputs
--remote_download_outputs=<all, minimal or toplevel>默认值:"all"
如果设置为“minimal”,系统不会将任何远程构建输出下载到本地计算机,但本地操作所需的输出除外。如果设置为“toplevel”,则其行为类似于 minimal',但同时也会将顶级目标的输出下载到本地机器。如果网络带宽是瓶颈,这两个选项可以显著缩短构建时间。
代码: affects_outputs
创建符号链接,而不是将远程构建输出下载到本地计算机。符号链接的目标可以以模板字符串的形式指定。此模板字符串可能包含可展开为对象哈希的 {hash} 和 {size_bytes},以及以字节为单位的大小。例如,这些符号链接可能指向某个 FUSE 文件系统,该文件系统会根据需要从 CAS 加载对象。
代码: affects_outputs
--remote_download_toplevel
仅将顶级目标的远程输出下载到本地机器。此标志是三个标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=toplevel。
扩展为:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=toplevel

代码: affects_outputs
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
--[no]incompatible_config_setting_private_default_visibility 默认值:"false”
如果 incompatible_enforce_config_setting_Visibility=false,则为空操作。或者,如果此标志为 false,则所有没有明确可见性属性的 config_setting 均为 //Visibility:public。如果此标志设置为 true,则 config_setting 遵循与所有其他规则相同的可见性逻辑。请参阅 https://github.com/bazelbuild/bazel/issues/12933。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 默认值:"false”
如果为 true,则强制执行 config_setting 可见性限制。如果为 false,每个 config_setting 都会对每个目标可见。请参阅 https://github.com/bazelbuild/bazel/issues/12932。
标记:loading_and_analysisincompatible_change
与查询输出和语义相关的选项:
--aspect_deps=<off, conservative or precise> 默认值:“保守型”
如果输出格式是 {xml,proto,record} 之一,如何解析宽高比依赖项。'off' 表示系统不会解析任何宽高比依赖项(默认值),表示所有已声明的宽高比依赖项都会被添加,无论它们是否被赋予了直接依赖项的规则类;'precise' 表示系统只会添加那些可能属于直接依赖项规则类别的方面。请注意,精确模式需要加载其他软件包来评估单个目标,因此它会比其他模式慢。另请注意,即使是精确模式,也并非完全精确:是否在计算阶段决定是否计算某个方面,此期间不会在“ Bazel 查询”期间运行。
代码: build_file_semantics
--[no]experimental_graphless_query默认值:"auto”
如果为 true,则使用不会创建图表副本的 Query 实现。新实现仅支持 --order_output=no,以及部分输出格式设置工具。
标记:build_file_semanticseagerness_to_exit
--graph:conditional_edges_limit=<an integer> 默认值:"4”
要显示的条件标签数量上限。-1 表示没有截断,0 表示没有注解。此选项仅适用于 --output=graph。
代码: terminal_output
--[no]graph:factored 默认值:"true"
如果为 true,则发出图表并执行“因式分解”操作,也就是说,合并等效的节点并将其合并在一起。此选项仅适用于 --output=graph。
代码: terminal_output
--graph:node_limit=<an integer> 默认值:"512"
输出中图表节点的标签字符串的最大长度。较长的标签会被截断;-1 表示不会截断。此选项仅适用于 --output=graph。
代码: terminal_output
--[no]implicit_deps 默认值:"true"
启用后,隐式依赖项将包含在执行查询的依赖项图表中。隐式依赖项是在 BUILD 文件中明确指定的,但由 bazel 添加。对于 cquery,此选项用于控制过滤已解析的工具链。
代码: build_file_semantics
--[no]include_aspects 默认值:"true"
aquery、cquery:是否在输出中包含宽高比生成的操作。query: no-op(始终遵循规范)。
代码: terminal_output
--[no]incompatible_display_source_file_location 默认值:"true"
默认情况下为 true,显示源文件的目标。如果为 true,则在位置输出中显示源文件第 1 行的位置。此标志仅用于迁移目的。
标记:terminal_outputincompatible_change
--[no]incompatible_lexicographical_output 默认值:"true"
如果设置了此选项,则按字典顺序对 --order_output=auto 输出进行排序。
标记:terminal_outputincompatible_change
--[no]infer_universe_scope 默认值:"false”
如果设置此参数并且未设置 --universe_scope,则系统会将 --universe_scope 的值推断为查询表达式中的唯一目标模式的列表。请注意,针对使用 Universe 范围函数(例如 `allrdeps`)的查询表达式推断的 --universe_scope 值可能不是您想要的,因此只有在您知道自己要执行的操作时,才应使用此选项。如需了解详情和示例,请参阅 https://bazel.build/versions/reference/query#sky-query。如果设置了 --universe_scope,则忽略此选项的值。注意:此选项仅适用于“查询”(即不适用于“cquery”)。
标记: loading_and_analysis
--[no]line_terminator_null 默认值:"false”
各种格式是否都以 \0 而不是换行符结尾。
代码: terminal_output
--[no]nodep_deps 默认值:"true"
如果启用,来自“nodep”属性的依赖项将包含在执行查询的依赖项关系图中。“nodep”属性的一个常见示例是 " visibility"。运行并解析“info build-language”的输出,了解 build 语言中的所有“nodep”属性。
代码: build_file_semantics
--noorder_results
以依赖项有序(默认)或无序的方式输出结果。无序输出速度更快,但只有在 --output 不是 minrank、maxrank 或 graph 时才受支持。
扩展为:
--order_output=no

代码: terminal_output
--null
各种格式是否都以 \0 而不是换行符结尾。
扩展为:
--line_terminator_null=true

代码: terminal_output
--order_output=<no, deps, auto or full>默认值:"auto”
输出结果是无序(否)、依赖项排序(依赖项)或完全排序(完整)。默认值为 'auto',这意味着结果是按依赖项排序或完全排序,具体取决于输出格式设置工具(proto、minrank、maxrank 和 graph 的依赖项排序,所有其他对象完全排序)。当完全排序输出时,将按照完全确定(总)的顺序输出节点。首先,所有节点均按字母顺序排序。然后,列表中的每个节点都会用作后序深度优先搜索的起点,即,系统将按照后接节点的字母顺序遍历未访问节点的外边缘。最后,节点会按照节点访问的顺序输出。
代码: terminal_output
--order_results
以依赖项有序(默认)或无序的方式输出结果。无序输出速度更快,但只有在 --output 不是 minrank、maxrank 或 graph 时才受支持。
扩展为:
--order_output=auto

代码: terminal_output
--output=<a string> 默认值:"label"
查询结果应采用的格式。查询允许的值包括:build、graph、label、label_Kind、location、maxrank、minrank、package、proto、xml。
代码: terminal_output
--[no]proto:default_values 默认值:"true"
如果为 true,则未在 Build 文件中明确指定其值的属性;否则会忽略这些属性。此选项适用于 --output=proto
标记:terminal_output
--[no]proto:definition_stack 默认值:"false”
填充 define_stack proto 字段,该字段为每条规则实例在定义规则的类时记录 Starlark 调用堆栈。
代码: terminal_output
--[no]proto:flatten_selects 默认值:"true"
启用后,系统会对通过 select() 创建的可配置属性进行扁平化处理。对于列表类型,扁平化表示是一个列表,其中包含所选映射的每个值仅一次。标量类型展平为 null。
代码: build_file_semantics
--[no]proto:include_synthetic_attribute_hash 默认值:"false”
是否计算并填充 $internal_attr_hash 属性。
代码: terminal_output
--[no]proto:instantiation_stack 默认值:"false”
填充每条规则的实例化调用堆栈。请注意,这要求存在堆栈
标记:terminal_output
--[no]proto:locations 默认值:"true"
是否要在 proto 输出中输出位置信息。
代码: terminal_output
--proto:output_rule_attrs=<comma-separated list of options>默认值:"all"
要包含在输出中的特性列表(以英文逗号分隔)。默认为所有属性。设置为空字符串不会输出任何属性。此选项适用于 --output=proto。
代码: terminal_output
--[no]proto:rule_inputs_and_outputs 默认值:"true"
是否填充规则_输入和规则输出字段。
代码: terminal_output
--query_file=<a string> 默认值:""
如果设置此参数,查询将从此处指定的文件中读取查询,而不是在命令行中。在此处指定文件和命令行查询是错误的做法。
代码: changes_inputs
--[no]relative_locations 默认值:"false”
如果为 true,build 文件在 xml 和 proto 输出中的位置将是相对位置。默认情况下,位置输出是绝对路径,在各台计算机上不一致。您可以将此选项设置为 true,以便在多台计算机上获得一致的结果。
代码: terminal_output
--[no]strict_test_suite 默认值:"false”
如果为 true,则当 test_expression 遇到包含非测试目标的 test_suite 时,就会抛出错误。
标记:build_file_semanticseagerness_to_exit
--[no]tool_deps 默认值:"true"
查询:如果停用此设置,则对主机配置的依赖项将不会包含在执行查询的依赖项关系图中。主机配置依赖项(例如来自任何 proto_library&协议编译器规则的依赖项)通常指向在构建期间执行的工具,而不是同一目标程序的一部分。{0}{/1} Cquery:停用时,从发现此配置目标的顶级目标中,过滤掉跨主机或执行过渡的所有已配置目标。这意味着,如果顶级目标位于目标配置中,则仅返回目标配置中配置的目标。如果顶级目标在主机配置中,则仅返回主机配置的目标。此选项不会排除已解析的工具链。
代码: build_file_semantics
--universe_scope=<comma-separated list of options> 默认值:""
一系列以英文逗号分隔的目标值(累加和递减)。查询可以按照指定目标的传递关闭定义的宇宙执行。此选项用于查询和 cquery 命令。对于 cquery,此选项的输入是所有答案的构建目标,因此该选项可能会影响配置和转换。如果未指定该选项,则假定顶级目标是从查询表达式解析的目标。注意:对于 cquery,如果无法通过顶级选项从查询表达式中解析的目标进行构建,那么不指定此选项可能会导致构建中断。
代码: loading_and_analysis
--[no]xml:default_values 默认值:"false”
如果为 true,则输出未在 BUILD 文件中明确指定值的规则属性;否则会省略它们。
代码: terminal_output
--[no]xml:line_numbers 默认值:"true"
如果为 true,则 XML 输出包含行号。停用此选项可能更便于阅读差异。此选项仅适用于 --output=xml。
标记: terminal_output
影响日志记录的详尽程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
--[no]experimental_guard_against_concurrent_changes 默认值:"false”
关闭此设置可以停用在将操作上传到远程缓存之前检查该操作的输入文件的时间。在某些情况下,Linux 内核可能会延迟写入文件,进而导致误报。
--[no]experimental_remote_cache_async 默认值:"false”
如果为 true,远程缓存 I/O 将在后台进行,而不是作为衍生作品的一部分发生。
--[no]experimental_remote_cache_compression 默认值:"false”
如果此设置已启用,请使用 zstd 压缩/解压缩缓存 blob。
--experimental_remote_capture_corrupted_outputs=<a path> 默认值:查看说明
指向将捕获损坏输出的目录的路径。
--experimental_remote_downloader=<a string> 默认值:查看说明
Remote Asset API 端点 URI,用作远程下载代理。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。请参阅:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_execution_keepalive 默认值:"false”
是否要使用 keepalive 进行远程执行调用。
--experimental_remote_grpc_log=<a path> 默认值:查看说明
如果指定此参数,则为记录 gRPC 调用相关详细信息的文件的路径。此日志由一系列序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobuf 组成,每条消息都有一个前缀,表示以下序列化 protobuf 消息的大小,由方法 LogEntry.writeDelimitedTo(OutputStream) 执行。
--[no]experimental_remote_merkle_tree_cache 默认值:"false”
如果设置为 true,系统会记忆 Merkle 树,以提高远程缓存命中检查的速度。缓存的内存占用量由 --experimental_remote_merkle_tree_cache_size 控制。
--experimental_remote_merkle_tree_cache_size=<a long integer>默认值:"1000”
需要记忆的 Merkle 树数,可提高远程缓存命中检查的速度。即使根据 Java 对软引用的处理来自动删减缓存,如果设置过高,也可能会出现内存不足错误。如果设置为 0,则缓存大小无限制。具体价值因项目规模而异。默认值为 1000。
--[no]incompatible_remote_build_event_upload_respect_no_cache 默认值:"false”
如果设置为 true,则当无法远程缓存生成的操作时,BEP 引用的输出不会上传到远程缓存。
--[no]incompatible_remote_output_paths_relative_to_input_root 默认值:"false”
如果设置为 true,输出路径将相对于输入根目录而不是工作目录。
代码: incompatible_change
--[no]incompatible_remote_results_ignore_disk 默认值:"false”
如果设置为 true,则 --noremote_upload_local_results 和 --noremote_accept_cached 将不会应用于磁盘缓存。如果使用的是组合缓存: --noremote_upload_local_results 会导致结果写入磁盘缓存,但不会上传到远程缓存。 --noremote_accept_cached 将导致 Bazel 在磁盘缓存中(而不是远程缓存)检查结果。no-remote-exec 操作可能会占用磁盘缓存。 如需了解详情,请参阅 #8216。
代码: incompatible_change
--[no]remote_accept_cached 默认值:"true"
是否接受远程缓存的操作结果。
--remote_bytestream_uri_prefix=<a string> 默认值:查看说明
要写入构建事件流的 bytestream:// URI 中使用的主机名和实例名称。使用代理执行构建时可以设置此选项,这会导致 --remote_executor 和 --remote_instance_name 的值不再对应于远程执行服务的规范名称。如果未设置,则默认为“${hostname}/${instance_name}”。
--remote_cache=<a string> 默认值:查看说明
缓存端点的 URI。受支持的架构包括 http、https、grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc://、http:// 或 unix: 架构以停用 TLS。请参阅 https://dbaze.build/docs/remote-caching
累计使用了 --remote_cache_header=<a 'name=value' assignment>
指定将包含在缓存请求中的标头:--remote_cache_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_default_exec_properties=<a 'name=value' assignment>
如果执行平台尚未设置 exec_properties,请设置默认远程执行属性以用作远程执行平台。
代码: affects_outputs
--remote_default_platform_properties=<a string> 默认值:""
如果远程执行 API 尚未设置 Remote_ execution_properties ,请为远程执行 API 设置默认平台属性。如果选择主机平台作为远程执行的执行平台,系统也会使用此值。
累计使用了 --remote_downloader_header=<a 'name=value' assignment>
指定将包含在远程下载程序请求中的标头:--remote_downloader_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_exec_header=<a 'name=value' assignment>
指定将包含在执行请求中的标头:--remote_exec_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_execution_priority=<an integer> 默认值:"0”
要远程执行的操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_executor=<a string> 默认值:查看说明
远程执行端点的 HOST 或 HOST:PORT。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc:// 或 unix: 架构以停用 TLS。
累计使用了 --remote_header=<a 'name=value' assignment>
指定请求中将包含的标头:--remote_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_instance_name=<a string> 默认值:""
要在 RemoteExecution 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> 默认值:查看说明
通过代理连接到远程缓存。目前,此标志只能用于配置 Unix 网域套接字 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer> 默认值:"0”
要存储在远程缓存中的远程操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_retries=<an integer> 默认值:"5”
重试暂时性错误的最大尝试次数。如果设置为 0,系统会停用重试。
--remote_timeout=<An immutable length of time.>默认值:"60s"
远程执行和缓存调用的最长等待时间。对于 REST 缓存,这既是连接超时,也是读取超时。您可以使用以下单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。如果省略单位,则该值会被解释为秒。
--[no]remote_upload_local_results 默认值:"true"
是否将本地执行的操作结果上传到远程缓存。
--[no]remote_verify_downloads 默认值:"true"
如果设置为 true,Bazel 将计算所有远程下载内容的哈希总和,并在与预期值不匹配时舍弃远程缓存的值。
其他选项,未进行分类。
--deleted_packages=<comma-separated list of package names> 默认值:""
构建系统认为不存在的软件包名称列表(即使这些软件包在软件包路径上的某处可见)。删除现有软件包的子软件包 &x39;x' 时使用此选项。例如,在客户端中删除 x/y/BUILD 后,如果遇到 #&92;//x:y/z' 这个标签仍由另一 package_path 条目提供,系统可能会抱怨。指定 --deleted_packages x/y 可以避免此问题。
--disk_cache=<a path> 默认值:查看说明
指向 Bazel 可以读取和写入操作和操作输出的目录的路径。如果该目录不存在,系统会创建一个。
--google_auth_scopes=<comma-separated list of options> 默认值:"https://www.googleapis.com/auth/cloud-platform"
以英文逗号分隔的 Google Cloud 身份验证范围列表。
--google_credentials=<a string> 默认值:查看说明
指定从中获取身份验证凭据的文件。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials 默认值:"false”
是否使用 Google 应用默认凭据进行身份验证。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。默认处于停用状态。
--grpc_keepalive_time=<An immutable length of time.> 默认值:查看说明
为传出 gRPC 连接配置 keep-alive ping。如果设置了此选项,则 Bazel 会在连接未执行任何操作的情况下发送 ping,但仅当存在至少一个待处理的 gRPC 调用时。时间被视为第二粒度;设置的小于 1 秒是错误的。默认情况下, keep-alive ping 处于停用状态。启用此设置之前,您应与服务所有者协调。
--grpc_keepalive_timeout=<An immutable length of time.> 默认值:"20s"
配置传出 gRPC 连接的持久连接超时。如果使用 --grpc_keepalive_time 启用了 keep-alive ping,并且此时间过久仍未收到 ping 回复,则 Bazel 会超时。时间被视为第二粒度;设置的小于 1 秒是错误的。如果停用 keep-alive ping,则会忽略此设置。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
--package_path=<colon-separated list of options> 默认值:"%workspace%"
以英文冒号分隔的列表,用于查找软件包的位置。以 '%workspace%' 开头的元素与封闭工作区相关。如果省略或为空,则默认为 'bazel info default-package-path'。
--[no]show_loading_progress 默认值:"true"
如果启用此选项,则会使 Bazel 输出“正在加载软件包:”消息。
--tls_certificate=<a string> 默认值:查看说明
指定信任为服务器证书签名的 TLS 证书的路径。
--tls_client_certificate=<a string> 默认值:查看说明
指定要使用的 TLS 客户端证书;您还需要提供客户端证书以启用客户端身份验证。
--tls_client_key=<a string> 默认值:查看说明
指定要使用的 TLS 客户端密钥;您还需要提供客户端证书才能启用客户端身份验证。

运行选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
--script_path=<a path> 默认值:查看说明
如果设置了此参数,请将 shell 脚本写入调用目标的指定文件。如果设置了此选项,则目标不会从 bazel 运行。使用 'bazel run --script_path=foo //foo && ./foo' 来调用目标 '//foo' 这与 'bazel run //foo' 不同,bazel 锁会被释放,并且可执行文件已连接到终端。
标记:affects_outputsexecution
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

关闭选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制命令输出的选项:
--iff_heap_size_greater_than=<an integer> 默认值:"0”
如果此值不为零,则只有在 JVM 消耗的总内存(以 MB 为单位)超过此值时,关机才会关闭服务器。
标记:loses_incremental_stateeagerness_to_exit
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)的严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
其他选项,未进行分类。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。

同步选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制执行作业的选项:
--[no]configure 默认值:"False”
仅为了进行系统配置而同步标记为 'configure' 的存储库。
代码: changes_inputs
如果设置为 true,Bazel 会像这样表示远程缓存/执行协议中的操作输出中的符号链接。当前行为是远程缓存/执行程序跟踪符号链接并将其表示为文件。如需了解详情,请参阅 #6631。
标记:executionincompatible_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”
用于加载/分析阶段的并行线程数。可以用一个整数或一个关键字("自动", " HOST_CPUS", " HOST_RAM"),可以选择性地在后面加上一个操作 ([-|*]<float>),例如"auto","HOST_CPUS*.5"。"auto",用于根据主机资源设置合理的默认值。必须至少为 1。
代码: bazel_internal_configuration
累计使用了 --only=<a string>
如果提供此选项,则仅同步使用此选项指定的代码库。仍将所有(或所有与配置类似的 --configure 提供)视为已过时。
代码: changes_inputs
如果为 true,请将操作符号链接输出上传到远程缓存。如果未启用此选项,则输出符号链接的可缓存操作将会失败。
标记: execution
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
--bep_maximum_open_remote_upload_files=<an integer> 默认值:"-1”
在 BEP 工件上传期间允许的打开文件数上限。
代码: affects_outputs
--remote_download_minimal
不会将任何远程构建输出下载到本地机器。此标志是三种标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=minimal。
扩展为:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=minimal

代码: affects_outputs
--remote_download_outputs=<all, minimal or toplevel>默认值:"all"
如果设置为“minimal”,系统不会将任何远程构建输出下载到本地计算机,但本地操作所需的输出除外。如果设置为“toplevel”,则其行为类似于 minimal',但同时也会将顶级目标的输出下载到本地机器。如果网络带宽是瓶颈,这两个选项可以显著缩短构建时间。
代码: affects_outputs
创建符号链接,而不是将远程构建输出下载到本地计算机。符号链接的目标可以以模板字符串的形式指定。此模板字符串可能包含可展开为对象哈希的 {hash} 和 {size_bytes},以及以字节为单位的大小。例如,这些符号链接可能指向某个 FUSE 文件系统,该文件系统会根据需要从 CAS 加载对象。
代码: affects_outputs
--remote_download_toplevel
仅将顶级目标的远程输出下载到本地机器。此标志是三个标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=toplevel。
扩展为:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=toplevel

代码: affects_outputs
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
--[no]incompatible_config_setting_private_default_visibility 默认值:"false”
如果 incompatible_enforce_config_setting_Visibility=false,则为空操作。或者,如果此标志为 false,则所有没有明确可见性属性的 config_setting 均为 //Visibility:public。如果此标志设置为 true,则 config_setting 遵循与所有其他规则相同的可见性逻辑。请参阅 https://github.com/bazelbuild/bazel/issues/12933。
标记:loading_and_analysisincompatible_change
--[no]incompatible_enforce_config_setting_visibility 默认值:"false”
如果为 true,则强制执行 config_setting 可见性限制。如果为 false,每个 config_setting 都会对每个目标可见。请参阅 https://github.com/bazelbuild/bazel/issues/12932。
标记: loading_and_analysisincompatible_change
影响日志记录的详尽程度、格式或位置的选项:
--[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` 指令,在此情况下可能会返回多个网址。
--[no]experimental_guard_against_concurrent_changes 默认值:"false”
关闭此设置可以停用在将操作上传到远程缓存之前检查该操作的输入文件的时间。在某些情况下,Linux 内核可能会延迟写入文件,进而导致误报。
--[no]experimental_remote_cache_async 默认值:"false”
如果为 true,远程缓存 I/O 将在后台进行,而不是作为衍生作品的一部分发生。
--[no]experimental_remote_cache_compression 默认值:"false”
如果此设置已启用,请使用 zstd 压缩/解压缩缓存 blob。
--experimental_remote_capture_corrupted_outputs=<a path> 默认值:查看说明
指向将捕获损坏输出的目录的路径。
--experimental_remote_downloader=<a string> 默认值:查看说明
Remote Asset API 端点 URI,用作远程下载代理。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。请参阅:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_execution_keepalive 默认值:"false”
是否要使用 keepalive 进行远程执行调用。
--experimental_remote_grpc_log=<a path> 默认值:查看说明
如果指定此参数,则为记录 gRPC 调用相关详细信息的文件的路径。此日志由一系列序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobuf 组成,每条消息都有一个前缀,表示以下序列化 protobuf 消息的大小,由方法 LogEntry.writeDelimitedTo(OutputStream) 执行。
--[no]experimental_remote_merkle_tree_cache 默认值:"false”
如果设置为 true,系统会记忆 Merkle 树,以提高远程缓存命中检查的速度。缓存的内存占用量由 --experimental_remote_merkle_tree_cache_size 控制。
--experimental_remote_merkle_tree_cache_size=<a long integer>默认值:"1000”
需要记忆的 Merkle 树数,可提高远程缓存命中检查的速度。即使根据 Java 对软引用的处理来自动删减缓存,如果设置过高,也可能会出现内存不足错误。如果设置为 0,则缓存大小无限制。具体价值因项目规模而异。默认值为 1000。
--[no]incompatible_remote_build_event_upload_respect_no_cache 默认值:"false”
如果设置为 true,则当无法远程缓存生成的操作时,BEP 引用的输出不会上传到远程缓存。
--[no]incompatible_remote_output_paths_relative_to_input_root 默认值:"false”
如果设置为 true,输出路径将相对于输入根目录而不是工作目录。
代码: incompatible_change
--[no]incompatible_remote_results_ignore_disk 默认值:"false”
如果设置为 true,则 --noremote_upload_local_results 和 --noremote_accept_cached 将不会应用于磁盘缓存。如果使用的是组合缓存: --noremote_upload_local_results 会导致结果写入磁盘缓存,但不会上传到远程缓存。 --noremote_accept_cached 将导致 Bazel 在磁盘缓存中(而不是远程缓存)检查结果。no-remote-exec 操作可能会占用磁盘缓存。 如需了解详情,请参阅 #8216。
代码: incompatible_change
--[no]remote_accept_cached 默认值:"true"
是否接受远程缓存的操作结果。
--remote_bytestream_uri_prefix=<a string> 默认值:查看说明
要写入构建事件流的 bytestream:// URI 中使用的主机名和实例名称。使用代理执行构建时可以设置此选项,这会导致 --remote_executor 和 --remote_instance_name 的值不再对应于远程执行服务的规范名称。如果未设置,则默认为“${hostname}/${instance_name}”。
--remote_cache=<a string> 默认值:查看说明
缓存端点的 URI。受支持的架构包括 http、https、grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc://、http:// 或 unix: 架构以停用 TLS。请参阅 https://dbaze.build/docs/remote-caching
累计使用了 --remote_cache_header=<a 'name=value' assignment>
指定将包含在缓存请求中的标头:--remote_cache_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_default_exec_properties=<a 'name=value' assignment>
如果执行平台尚未设置 exec_properties,请设置默认远程执行属性以用作远程执行平台。
代码: affects_outputs
--remote_default_platform_properties=<a string> 默认值:""
如果远程执行 API 尚未设置 Remote_ execution_properties ,请为远程执行 API 设置默认平台属性。如果选择主机平台作为远程执行的执行平台,系统也会使用此值。
累计使用了 --remote_downloader_header=<a 'name=value' assignment>
指定将包含在远程下载程序请求中的标头:--remote_downloader_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_exec_header=<a 'name=value' assignment>
指定将包含在执行请求中的标头:--remote_exec_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_execution_priority=<an integer> 默认值:"0”
要远程执行的操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_executor=<a string> 默认值:查看说明
远程执行端点的 HOST 或 HOST:PORT。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc:// 或 unix: 架构以停用 TLS。
累计使用了 --remote_header=<a 'name=value' assignment>
指定请求中将包含的标头:--remote_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_instance_name=<a string> 默认值:""
要在 RemoteExecution 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> 默认值:查看说明
通过代理连接到远程缓存。目前,此标志只能用于配置 Unix 网域套接字 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer> 默认值:"0”
要存储在远程缓存中的远程操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_retries=<an integer> 默认值:"5”
重试暂时性错误的最大尝试次数。如果设置为 0,系统会停用重试。
--remote_timeout=<An immutable length of time.>默认值:"60s"
远程执行和缓存调用的最长等待时间。对于 REST 缓存,这既是连接超时,也是读取超时。您可以使用以下单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。如果省略单位,则该值会被解释为秒。
--[no]remote_upload_local_results 默认值:"true"
是否将本地执行的操作结果上传到远程缓存。
--[no]remote_verify_downloads 默认值:"true"
如果设置为 true,Bazel 将计算所有远程下载内容的哈希总和,并在与预期值不匹配时舍弃远程缓存的值。
其他选项,未进行分类。
--deleted_packages=<comma-separated list of package names> 默认值:""
构建系统认为不存在的软件包名称列表(即使这些软件包在软件包路径上的某处可见)。删除现有软件包的子软件包 &x39;x' 时使用此选项。例如,在客户端中删除 x/y/BUILD 后,如果遇到 #&92;//x:y/z' 这个标签仍由另一 package_path 条目提供,系统可能会抱怨。指定 --deleted_packages x/y 可以避免此问题。
--disk_cache=<a path> 默认值:查看说明
指向 Bazel 可以读取和写入操作和操作输出的目录的路径。如果该目录不存在,系统会创建一个。
--google_auth_scopes=<comma-separated list of options> 默认值:"https://www.googleapis.com/auth/cloud-platform"
以英文逗号分隔的 Google Cloud 身份验证范围列表。
--google_credentials=<a string> 默认值:查看说明
指定从中获取身份验证凭据的文件。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials 默认值:"false”
是否使用 Google 应用默认凭据进行身份验证。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。默认处于停用状态。
--grpc_keepalive_time=<An immutable length of time.> 默认值:查看说明
为传出 gRPC 连接配置 keep-alive ping。如果设置了此选项,则 Bazel 会在连接未执行任何操作的情况下发送 ping,但仅当存在至少一个待处理的 gRPC 调用时。时间被视为第二粒度;设置的小于 1 秒是错误的。默认情况下, keep-alive ping 处于停用状态。启用此设置之前,您应与服务所有者协调。
--grpc_keepalive_timeout=<An immutable length of time.> 默认值:"20s"
配置传出 gRPC 连接的持久连接超时。如果使用 --grpc_keepalive_time 启用了 keep-alive ping,并且此时间过久仍未收到 ping 回复,则 Bazel 会超时。时间被视为第二粒度;设置的小于 1 秒是错误的。如果停用 keep-alive ping,则会忽略此设置。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
--package_path=<colon-separated list of options> 默认值:"%workspace%"
以英文冒号分隔的列表,用于查找软件包的位置。以 '%workspace%' 开头的元素与封闭工作区相关。如果省略或为空,则默认为 'bazel info default-package-path'。
--[no]show_loading_progress 默认值:"true"
如果启用此选项,则会使 Bazel 输出“正在加载软件包:”消息。
--tls_certificate=<a string> 默认值:查看说明
指定信任为服务器证书签名的 TLS 证书的路径。
--tls_client_certificate=<a string> 默认值:查看说明
指定要使用的 TLS 客户端证书;您还需要提供客户端证书以启用客户端身份验证。
--tls_client_key=<a string> 默认值:查看说明
指定要使用的 TLS 客户端密钥;您还需要提供客户端证书才能启用客户端身份验证。

测试选项

继承 build 的所有选项。

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a string>
指定用于定位 Bazel 模块依赖项的注册表。顺序很重要:模块会先在早期的注册表中查询,并且仅当早期注册表缺少模块时才会回退到其他注册表。
代码: changes_inputs
--repository_cache=<a path> 默认值:查看说明
指定提取外部代码库期间获取的已下载值的缓存位置。空字符串作为参数,用于请求停用缓存。
标记: bazel_internal_configuration
用于控制执行作业的选项:
如果设置为 true,Bazel 会像这样表示远程缓存/执行协议中的操作输出中的符号链接。当前行为是远程缓存/执行程序跟踪符号链接并将其表示为文件。如需了解详情,请参阅 #6631。
标记:executionincompatible_change
如果为 true,请将操作符号链接输出上传到远程缓存。如果未启用此选项,则输出符号链接的可缓存操作将会失败。
标记: execution
允许用户配置预期输出,从而影响其值(而不是与其存在值)的选项:
--bep_maximum_open_remote_upload_files=<an integer> 默认值:"-1”
在 BEP 工件上传期间允许的打开文件数上限。
代码: affects_outputs
--remote_download_minimal
不会将任何远程构建输出下载到本地机器。此标志是三种标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=minimal。
扩展为:
--nobuild_runfile_links
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=minimal

代码: affects_outputs
--remote_download_outputs=<all, minimal or toplevel>默认值:"all"
如果设置为“minimal”,系统不会将任何远程构建输出下载到本地计算机,但本地操作所需的输出除外。如果设置为“toplevel”,则其行为类似于 minimal',但同时也会将顶级目标的输出下载到本地机器。如果网络带宽是瓶颈,这两个选项可以显著缩短构建时间。
代码: affects_outputs
创建符号链接,而不是将远程构建输出下载到本地计算机。符号链接的目标可以以模板字符串的形式指定。此模板字符串可能包含可展开为对象哈希的 {hash} 和 {size_bytes},以及以字节为单位的大小。例如,这些符号链接可能指向某个 FUSE 文件系统,该文件系统会根据需要从 CAS 加载对象。
代码: affects_outputs
--remote_download_toplevel
仅将顶级目标的远程输出下载到本地机器。此标志是三个标志的快捷方式:--experimental_inmemory_jdeps_files、--experimental_inmemory_dotd_files 和 --remote_download_outputs=toplevel。
扩展为:
--experimental_inmemory_jdeps_files
--experimental_inmemory_dotd_files
--remote_download_outputs=toplevel

代码: affects_outputs
影响 Bazel 强制执行有效构建输入(规则定义、标记组合等)严格程度的选项:
--experimental_repository_hash_file=<a string> 默认值:""
如果非空,则指定一个包含解析后值的文件,用于验证代码库目录哈希
标记: affects_outputsexperimental
累计使用了 --experimental_verify_repository_rules=<a string>
如果输出文件目录的哈希值需要验证的代码库规则列表,前提是相应文件指定了 --experimental_repository_hash_file。
标记:affects_outputsexperimental
此选项会影响 Starlark 语言或可供 BUILD 文件、.bzl 文件或 WORKSPACE 文件访问的 build API 的语义。
--[no]experimental_allow_top_level_aspects_parameters 默认值:"true"
空操作
代码: no_opdeprecatedexperimental
影响日志记录的详细程度、格式或位置的选项:
--[no]experimental_record_metrics_for_all_mnemonics 默认值:"false”
默认情况下,操作类型的数量上限为执行操作数量最多的 20 个助记符。设置此选项将写入所有助记符的统计信息。
--[no]print_relative_test_log_paths 默认值:"false”
如果为 true,则打印测试日志的路径时,请使用充分利用 'testlogs 的方便符号链接的相对路径。注意 - 使用不同的配置进行后续 'build'/'test'/etc 调用时,可能会导致此符号链接的目标发生变化,导致之前输出的路径不再有用。
代码: affects_outputs
--[no]test_verbose_timeout_warnings 默认值:"false”
如果值为 true,则当实际测试执行时间与测试定义的超时时间(隐式或显式)不符时,输出更多警告。
代码: affects_outputs
--[no]verbose_test_summary 默认值:"true"
如果值为 true,则输出测试摘要中的其他信息(时间、失败运行次数等)。
标记: affects_outputs
用于指定或更改 Bazel 命令的通用输入(不属于其他类别)的选项:
--experimental_resolved_file_instead_of_workspace=<a string> 默认值:""
如果非空读取指定的解析文件,而非 WORKSPACE 文件
代码: changes_inputs
远程缓存和执行选项:
--experimental_downloader_config=<a string> 默认值:查看说明
指定用于配置远程下载器的文件。此文件由多个行组成,每行都以指令(“allow”、“block”或“rewrite”)开头,后跟主机名(`allow` 和 `block`)或两种模式(一种为匹配项,另一种用作替代网址,反向引用从 `$1` 开始)。系统可能会针对同一网址提供多个 `rewrite` 指令,在此情况下可能会返回多个网址。
--[no]experimental_guard_against_concurrent_changes 默认值:"false”
关闭此设置可以停用在将操作上传到远程缓存之前检查该操作的输入文件的时间。在某些情况下,Linux 内核可能会延迟写入文件,进而导致误报。
--[no]experimental_remote_cache_async 默认值:"false”
如果为 true,远程缓存 I/O 将在后台进行,而不是作为衍生作品的一部分发生。
--[no]experimental_remote_cache_compression 默认值:"false”
如果此设置已启用,请使用 zstd 压缩/解压缩缓存 blob。
--experimental_remote_capture_corrupted_outputs=<a path> 默认值:查看说明
指向将捕获损坏输出的目录的路径。
--experimental_remote_downloader=<a string> 默认值:查看说明
Remote Asset API 端点 URI,用作远程下载代理。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。请参阅:https://github.com/bazelbuild/remote-apis/blob/master/build/bazel/remote/asset/v1/remote_asset.proto
--[no]experimental_remote_execution_keepalive 默认值:"false”
是否要使用 keepalive 进行远程执行调用。
--experimental_remote_grpc_log=<a path> 默认值:查看说明
如果指定此参数,则为记录 gRPC 调用相关详细信息的文件的路径。此日志由一系列序列化的 com.google.devtools.build.lib.remote.logging.RemoteExecutionLog.LogEntry protobuf 组成,每条消息都有一个前缀,表示以下序列化 protobuf 消息的大小,由方法 LogEntry.writeDelimitedTo(OutputStream) 执行。
--[no]experimental_remote_merkle_tree_cache 默认值:"false”
如果设置为 true,系统会记忆 Merkle 树,以提高远程缓存命中检查的速度。缓存的内存占用量由 --experimental_remote_merkle_tree_cache_size 控制。
--experimental_remote_merkle_tree_cache_size=<a long integer>默认值:"1000”
需要记忆的 Merkle 树数,可提高远程缓存命中检查的速度。即使根据 Java 对软引用的处理来自动删减缓存,如果设置过高,也可能会出现内存不足错误。如果设置为 0,则缓存大小无限制。具体价值因项目规模而异。默认值为 1000。
--[no]incompatible_remote_build_event_upload_respect_no_cache 默认值:"false”
如果设置为 true,则当无法远程缓存生成的操作时,BEP 引用的输出不会上传到远程缓存。
--[no]incompatible_remote_output_paths_relative_to_input_root 默认值:"false”
如果设置为 true,输出路径将相对于输入根目录而不是工作目录。
代码: incompatible_change
--[no]incompatible_remote_results_ignore_disk 默认值:"false”
如果设置为 true,则 --noremote_upload_local_results 和 --noremote_accept_cached 将不会应用于磁盘缓存。如果使用的是组合缓存: --noremote_upload_local_results 会导致结果写入磁盘缓存,但不会上传到远程缓存。 --noremote_accept_cached 将导致 Bazel 在磁盘缓存中(而不是远程缓存)检查结果。no-remote-exec 操作可能会占用磁盘缓存。 如需了解详情,请参阅 #8216。
代码: incompatible_change
--[no]remote_accept_cached 默认值:"true"
是否接受远程缓存的操作结果。
--remote_bytestream_uri_prefix=<a string> 默认值:查看说明
要写入构建事件流的 bytestream:// URI 中使用的主机名和实例名称。使用代理执行构建时可以设置此选项,这会导致 --remote_executor 和 --remote_instance_name 的值不再对应于远程执行服务的规范名称。如果未设置,则默认为“${hostname}/${instance_name}”。
--remote_cache=<a string> 默认值:查看说明
缓存端点的 URI。受支持的架构包括 http、https、grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc://、http:// 或 unix: 架构以停用 TLS。请参阅 https://dbaze.build/docs/remote-caching
累计使用了 --remote_cache_header=<a 'name=value' assignment>
指定将包含在缓存请求中的标头:--remote_cache_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_default_exec_properties=<a 'name=value' assignment>
如果执行平台尚未设置 exec_properties,请设置默认远程执行属性以用作远程执行平台。
代码: affects_outputs
--remote_default_platform_properties=<a string> 默认值:""
如果远程执行 API 尚未设置 Remote_ execution_properties ,请为远程执行 API 设置默认平台属性。如果选择主机平台作为远程执行的执行平台,系统也会使用此值。
累计使用了 --remote_downloader_header=<a 'name=value' assignment>
指定将包含在远程下载程序请求中的标头:--remote_downloader_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
累计使用了 --remote_exec_header=<a 'name=value' assignment>
指定将包含在执行请求中的标头:--remote_exec_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_execution_priority=<an integer> 默认值:"0”
要远程执行的操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_executor=<a string> 默认值:查看说明
远程执行端点的 HOST 或 HOST:PORT。受支持的架构包括 grpc、grpcs(已启用 TLS 的 grpc)和 unix(本地 UNIX 套接字)。如果未提供架构,Bazel 将默认为 grpc。指定 grpc:// 或 unix: 架构以停用 TLS。
累计使用了 --remote_header=<a 'name=value' assignment>
指定请求中将包含的标头:--remote_header=Name=Value。多次指定该标志即可传递多个标头。具有相同名称的多个值将转换为逗号分隔列表。
--remote_instance_name=<a string> 默认值:""
要在 RemoteExecution 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> 默认值:查看说明
通过代理连接到远程缓存。目前,此标志只能用于配置 Unix 网域套接字 (unix:/path/to/socket)。
--remote_result_cache_priority=<an integer> 默认值:"0”
要存储在远程缓存中的远程操作的相对优先级。特定优先级值的语义取决于服务器。
--remote_retries=<an integer> 默认值:"5”
重试暂时性错误的最大尝试次数。如果设置为 0,系统会停用重试。
--remote_timeout=<An immutable length of time.>默认值:"60s"
远程执行和缓存调用的最长等待时间。对于 REST 缓存,这既是连接超时,也是读取超时。您可以使用以下单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。如果省略单位,则该值会被解释为秒。
--[no]remote_upload_local_results 默认值:"true"
是否将本地执行的操作结果上传到远程缓存。
--[no]remote_verify_downloads 默认值:"true"
如果设置为 true,Bazel 将计算所有远程下载内容的哈希总和,并在与预期值不匹配时舍弃远程缓存的值。
其他选项,未进行分类。
--disk_cache=<a path> 默认值:查看说明
指向 Bazel 可以读取和写入操作和操作输出的目录的路径。如果该目录不存在,系统会创建一个。
--google_auth_scopes=<comma-separated list of options> 默认值:"https://www.googleapis.com/auth/cloud-platform"
以英文逗号分隔的 Google Cloud 身份验证范围列表。
--google_credentials=<a string> 默认值:查看说明
指定从中获取身份验证凭据的文件。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。
--[no]google_default_credentials 默认值:"false”
是否使用 Google 应用默认凭据进行身份验证。如需了解详情,请参阅 https://cloud.google.com/docs/authentication。默认处于停用状态。
--grpc_keepalive_time=<An immutable length of time.> 默认值:查看说明
为传出 gRPC 连接配置 keep-alive ping。如果设置了此选项,则 Bazel 会在连接未执行任何操作的情况下发送 ping,但仅当存在至少一个待处理的 gRPC 调用时。时间被视为第二粒度;设置的小于 1 秒是错误的。默认情况下, keep-alive ping 处于停用状态。启用此设置之前,您应与服务所有者协调。
--grpc_keepalive_timeout=<An immutable length of time.> 默认值:"20s"
配置传出 gRPC 连接的持久连接超时。如果使用 --grpc_keepalive_time 启用了 keep-alive ping,并且此时间过久仍未收到 ping 回复,则 Bazel 会超时。时间被视为第二粒度;设置的小于 1 秒是错误的。如果停用 keep-alive ping,则会忽略此设置。
累计使用了 --override_repository=<an equals-separated mapping of repository name to path>
使用本地目录替换代码库。
--tls_certificate=<a string> 默认值:查看说明
指定信任为服务器证书签名的 TLS 证书的路径。
--tls_client_certificate=<a string> 默认值:查看说明
指定要使用的 TLS 客户端证书;您还需要提供客户端证书以启用客户端身份验证。
--tls_client_key=<a string> 默认值:查看说明
指定要使用的 TLS 客户端密钥;您还需要提供客户端证书才能启用客户端身份验证。

版本选项

显示在命令之前且由客户端解析的选项:
--check_direct_dependencies=<off, warning or error> 默认值:"warning"
检查根模块中声明的 `bazel_dep` 直接依赖项是否与解析后的依赖项图中的版本相同。有效值为“off”表示停用检查,“warning”表示检测到不一致时触发警告,为“error”表示上报失败。
代码: loading_and_analysis
累计使用了 --distdir=<a path>
在访问网络下载归档文件之前,可以通过这些位置搜索归档。
代码: bazel_internal_configuration
--[no]experimental_enable_bzlmod 默认值:"false”
如果为 true,则 Bazel 会先尝试从 Bzlmod 系统加载外部代码库,然后再调查 WORKSPACE 文件。
代码: loading_and_analysis
如果设置了该选项,则存储区缓存将在文件命中时硬链接文件,而不是复制文件。这是为了节省磁盘空间。
代码: bazel_internal_configuration
--[no]experimental_repository_cache_urls_as_default_canonical_id 默认值:"false”
如果为 true,如果未指定,则使用从代码库下载网址派生的字符串作为 canonical_id。这样一来,即使缓存中包含的下载内容具有相同的哈希值,网址的变化也会导致重新下载。这可用于验证网址的更改是否不会导致缓存被遮盖的代码库。
标记:loading_and_analysisexperimental
--[no]experimental_repository_disable_download 默认值:"false”
如果设置此参数,则不允许下载外部代码库。
代码: experimental
--experimental_repository_downloader_retries=<an integer> 默认值:"0”
重新尝试下载错误的最大次数。如果设置为 0,系统会停用重试。
代码: experimental
--experimental_scale_timeouts=<a double> 默认值:"1.0”
对此系数调整 Starlark 代码库规则中的所有超时。通过这种方式,外部代码库可以在运行速度低于规则作者预期速度的计算机上运行,而无需更改源代码
标记: bazel_internal_configurationexperimental
--http_timeout_scaling=<a double> 默认值:"1.0”
按给定系数扩缩与 http 下载相关的所有超时
代码: bazel_internal_configuration
--[no]ignore_dev_dependency 默认值:"false”
如果为 true,则 Bazel 会忽略根模块的 MODULE.bazel 中声明为“dev_dependency”的“bazel_dep”和“use_extension”。请注意,如果相应标志不是根模块,则 MODULE.bazel 中始终会忽略这些开发者依赖项(无论此标志的值如何)。
代码: loading_and_analysis
累计使用了 --registry=<a stri