blob: 9d116caced5998dd1019660bb272e334479d30a7 [file] [log] [blame]
load("//tools:bazel/flags/bool.bzl", "create_bool_flag_rule")
load("//tools:bazel/flags/string.bzl", "create_string_flag_rule")
BrowserProvider = provider(
doc = "Browser family to build the extension for. It's necessary to tailor builds for each browser since each one has a different set of APIs.",
fields = ["browser"],
)
browser = create_string_flag_rule(
allowed_values = ["CHROMIUM", "GECKO"],
provider_factory = lambda v: BrowserProvider(browser = v),
)
ChannelProvider = provider(
doc = "Channel to build the extension for.",
fields = ["channel"],
)
channel = create_string_flag_rule(
allowed_values = ["STABLE", "BETA", "CANARY"],
provider_factory = lambda v: ChannelProvider(channel = v),
)
ReleaseProvider = provider(
doc = """Whether the current build is destined to be released.
This changes some behavior in the extension, such as hiding the link to the experiments page.""",
fields = ["is_release"],
)
release = create_bool_flag_rule(
provider_factory = lambda v: ReleaseProvider(is_release = v),
)