"""Bazel rules for devbuild"""

load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")

def _cli_edition_impl(ctx):
    cli_edition = ctx.attr._cli_edition[BuildSettingInfo].value
    if cli_edition == None or cli_edition == "":
        fail("--cli_edition is not set in .bazeloverwriterc")
    if cli_edition not in ["oss", "enterprise"]:
        fail("--cli_edition must be 'oss' or 'enterprise' in .bazeloverwriterc")

    output = ctx.actions.declare_file(ctx.label.name + ".txt")
    ctx.actions.write(output = output, content = cli_edition)
    return [DefaultInfo(files = depset([output]))]

cli_edition = rule(
    implementation = _cli_edition_impl,
    attrs = {
        "_cli_edition": attr.label(default = Label("//bazel/settings:cli_edition")),
    },
)