load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_flag", "string_list_flag") package( default_applicable_licenses = ["//:license"], default_visibility = ["//visibility:public"], ) bzl_library( name = "flags_bzl", srcs = ["flags.bzl"], deps = [ "@bazel_skylib//rules:common_settings", ], ) filegroup( name = "for_bazel_tests", testonly = True, srcs = [ "BUILD", "flags.bzl", "//bazel/flags/cc:BUILD", "//bazel/flags/java:BUILD", ], ) bool_flag( name = "experimental_proto_descriptor_sets_include_source_info", build_setting_default = False, scope = "universal", ) label_flag( name = "proto_compiler", build_setting_default = "@bazel_tools//tools/proto:protoc", ) string_list_flag( name = "protocopt", build_setting_default = [], scope = "universal", ) # When set to true, we will use a prebuilt protoc binary from GitHub if it's available. # This is now enabled by default. bool_flag( name = "prefer_prebuilt_protoc", build_setting_default = True, # See https://github.com/protocolbuffers/protobuf/issues/25561 scope = "universal", # propagate from host to exec configuration visibility = ["//bazel/toolchains:__pkg__"], ) config_setting( name = "prefer_prebuilt_protoc.flag_set", flag_values = {":prefer_prebuilt_protoc": "true"}, visibility = [ "//bazel/private/oss/toolchains/prebuilt:__pkg__", # Needed by cc_toolchain to switch between minimal and full protoc "//:__pkg__", ], ) # The public API users set to disable the validation action failing. bool_flag( name = "allow_nonstandard_protoc", build_setting_default = False, ) config_setting( name = "allow_nonstandard_protoc.flag_set", flag_values = {":allow_nonstandard_protoc": "true"}, visibility = ["//bazel/private/oss/toolchains/prebuilt:__pkg__"], ) # TODO: deprecate this flag. string_flag( name = "strict_proto_deps", build_setting_default = "error", scope = "universal", values = [ "off", "OFF", "warn", "WARN", "error", "ERROR", "strict", "STRICT", "default", "DEFAULT", ], ) # TODO: deprecate this flag. string_flag( name = "strict_public_imports", build_setting_default = "off", scope = "universal", values = [ "off", "OFF", "warn", "WARN", "error", "ERROR", "strict", "STRICT", "default", "DEFAULT", ], )