load("@bazel_skylib//rules:common_settings.bzl", "bool_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",
    },
)

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",
    ]
]
