blob: 1b7171d07d22e331692b332a176237e925918c96 [file] [edit]
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_flag")
package(default_visibility = ["//visibility:public"])
bool_flag(
name = "pin_browsers",
build_setting_default = True,
)
config_setting(
name = "use_pinned_browser",
flag_values = {
":pin_browsers": "true",
},
)
string_flag(
name = "manager",
build_setting_default = "download",
values = [
"download",
"host",
"all",
],
)
config_setting(
name = "manager_host",
flag_values = {
":manager": "host",
},
)
config_setting(
name = "manager_all",
flag_values = {
":manager": "all",
},
)
bool_flag(
name = "headless",
build_setting_default = False,
)
config_setting(
name = "use_headless_browser",
flag_values = {
":headless": "true",
},
)
config_setting(
name = "linux",
constraint_values = ["@platforms//os:linux"],
)
config_setting(
name = "macos",
constraint_values = ["@platforms//os:macos"],
)
config_setting(
name = "windows",
constraint_values = ["@platforms//os:windows"],
)
[
config_setting(
name = "{}_{}".format(os, arch),
constraint_values = [
"@platforms//os:{}".format(os),
"@platforms//cpu:{}".format(arch),
],
)
for (os, arch) in [
("linux", "arm64"),
("linux", "x86_64"),
("macos", "arm64"),
("macos", "x86_64"),
("windows", "arm64"),
("windows", "x86_64"),
]
]
# Are we creating a stamped build?
config_setting(
name = "stamp",
values = {"stamp": "true"},
)
alias(
name = "chromedriver",
actual = "@local_drivers//:chromedriver",
)
config_setting(
name = "use_local_chromedriver",
flag_values = {
"@local_drivers//:use_chromedriver": "false",
":pin_browsers": "false",
},
)
alias(
name = "geckodriver",
actual = "@local_drivers//:geckodriver",
)
config_setting(
name = "use_local_geckodriver",
flag_values = {
"@local_drivers//:use_geckodriver": "false",
":pin_browsers": "false",
},
)
alias(
name = "msedgedriver",
actual = "@local_drivers//:msedgedriver",
)
config_setting(
name = "use_local_msedgedriver",
flag_values = {
"@local_drivers//:use_msedgedriver": "false",
":pin_browsers": "false",
},
)
[
[
config_setting(
name = "use_pinned_%s_%s" % (platform, browser),
constraint_values = [
"@platforms//os:%s" % platform,
],
flag_values = {
":pin_browsers": "true",
},
)
for platform in [
"linux",
"macos",
"windows",
]
]
for browser in [
"chrome",
"edge",
"firefox",
]
]