load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_test")
load("@bazeldnf//:def.bzl", "bazeldnf")
load("@buildifier_prebuilt//:rules.bzl", "buildifier", "buildifier_test")
load("@rules_multirun//:defs.bzl", "command", "multirun")

exports_files([
    "MODULE.bazel",
])

# gazelle:prefix source.monogon.dev
# gazelle:go_naming_convention import
# gazelle:exclude **/gomod-generated-placeholder.go
# gazelle:exclude .bazeldnf/**
gazelle(name = "gazelle")

gazelle_test(
    name = "gazelle_test",
    tags = ["no-remote"],
    workspace = "//:MODULE.bazel",
)

BUILDIFIER_EXCLUDES = [
    "./.git/*",
    "./.ijwb/*",
]

# Buildifier formats all Starlark files.
buildifier(
    name = "buildifier",
    exclude_patterns = BUILDIFIER_EXCLUDES,
    lint_mode = "fix",
    mode = "fix",
)

buildifier_test(
    name = "buildifier_test",
    exclude_patterns = BUILDIFIER_EXCLUDES,
    lint_mode = "warn",
    lint_warnings = [
        "-module-docstring",
        "-function-docstring-args",
        "-function-docstring",
        "-function-docstring-header",
        "-function-docstring-return",
        "-unnamed-macro",  #TODO(tim): Update code to pass this
    ],
    no_sandbox = True,
    tags = ["no-remote"],
    workspace = "//:MODULE.bazel",
)

# Shortcut for the Go SDK
alias(
    name = "go",
    actual = "@io_bazel_rules_go//go",
    visibility = ["//visibility:public"],
)

# bazeldnf binary
bazeldnf(name = "bazeldnf")

# Shortcuts for top-level binaries/tools

# Shortcut for kubectl when running through bazel run
# (don't depend on this, it might turn into an env-based PATH shortcut, use
# @io_k8s_kubernetes//cmd/kubectl instead)
alias(
    name = "kubectl",
    actual = "@io_k8s_kubernetes//cmd/kubectl:kubectl",
)

# Shortcut for the Delve debugger for interactive debugging
alias(
    name = "dlv",
    actual = "@com_github_go_delve_delve//cmd/dlv:dlv",
)

alias(
    name = "goimports",
    actual = "@org_golang_x_tools//cmd/goimports:goimports",
    visibility = ["//visibility:public"],
)

command(
    name = "go-mod-tidy",
    arguments = [
        "mod",
        "tidy",
    ],
    command = ":go",
)

# Shortcut to update go.mod, gazelle files and formatting.
multirun(
    name = "tidy",
    commands = [
        ":go-mod-tidy",
        ":gazelle",
        ":buildifier",
    ],
)
