load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") package(default_visibility = ["//visibility:public"]) bool_flag( name = "pin_browsers", build_setting_default = False, ) config_setting( name = "use_pinned_browser", flag_values = { ":pin_browsers": "true", }, ) 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"], ) # 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", ] ]