load("@com_github_sluongng_nogo_analyzer//staticcheck:def.bzl", ALL_STATICCHECK_ANALYZERS = "ANALYZERS", format_staticcheck_analyzers = "staticcheck_analyzers")
load("@com_github_sluongng_nogo_analyzer//:def.bzl", gen_nogo_config = "nogo_config")
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@io_bazel_rules_go//go:def.bzl", "nogo")

# NOGO_PASSES contains all enabled analyzers that nogo should execute.
NOGO_PASSES = []

# These deps enable the analyses equivalent to running `go vet`.
# Passing vet = True enables only a tiny subset of these (the ones
# that are always correct).
# You can see the what `go vet` does by running `go doc cmd/vet`.
NOGO_PASSES += [
    "@org_golang_x_tools//go/analysis/passes/appends",
    "@org_golang_x_tools//go/analysis/passes/asmdecl",
    "@org_golang_x_tools//go/analysis/passes/assign",
    "@org_golang_x_tools//go/analysis/passes/atomic",
    "@org_golang_x_tools//go/analysis/passes/atomicalign",
    "@org_golang_x_tools//go/analysis/passes/bools",
    "@org_golang_x_tools//go/analysis/passes/buildssa",
    "@org_golang_x_tools//go/analysis/passes/buildtag",
    # Disable cgocall because it fails processing com_github_mattn_go_sqlite3 before exclusions are applied
    #"@org_golang_x_tools//go/analysis/passes/cgocall",
    "@org_golang_x_tools//go/analysis/passes/composite",
    "@org_golang_x_tools//go/analysis/passes/copylock",
    "@org_golang_x_tools//go/analysis/passes/deepequalerrors",
    "@org_golang_x_tools//go/analysis/passes/defers",
    "@org_golang_x_tools//go/analysis/passes/directive",
    "@org_golang_x_tools//go/analysis/passes/errorsas",
    # Disabled as there is no real benefit from it.
    #"@org_golang_x_tools//go/analysis/passes/fieldalignment",
    "@org_golang_x_tools//go/analysis/passes/framepointer",
    "@org_golang_x_tools//go/analysis/passes/httpmux",
    "@org_golang_x_tools//go/analysis/passes/httpresponse",
    "@org_golang_x_tools//go/analysis/passes/ifaceassert",
    # Disabled because we are using Go 1.22
    # https://go.dev/blog/loopvar-preview
    #"@org_golang_x_tools//go/analysis/passes/loopclosure",
    "@org_golang_x_tools//go/analysis/passes/lostcancel",
    "@org_golang_x_tools//go/analysis/passes/nilfunc",
    "@org_golang_x_tools//go/analysis/passes/nilness",
    "@org_golang_x_tools//go/analysis/passes/printf",
    "@org_golang_x_tools//go/analysis/passes/reflectvaluecompare",
    # Disabled because of too many false positives
    # "@org_golang_x_tools//go/analysis/passes/shadow",
    "@org_golang_x_tools//go/analysis/passes/shift",
    "@org_golang_x_tools//go/analysis/passes/sigchanyzer",
    "@org_golang_x_tools//go/analysis/passes/slog",
    "@org_golang_x_tools//go/analysis/passes/sortslice",
    "@org_golang_x_tools//go/analysis/passes/stdmethods",
    "@org_golang_x_tools//go/analysis/passes/stringintconv",
    "@org_golang_x_tools//go/analysis/passes/structtag",
    "@org_golang_x_tools//go/analysis/passes/testinggoroutine",
    "@org_golang_x_tools//go/analysis/passes/tests",
    "@org_golang_x_tools//go/analysis/passes/timeformat",
    "@org_golang_x_tools//go/analysis/passes/unmarshal",
    "@org_golang_x_tools//go/analysis/passes/unreachable",
    "@org_golang_x_tools//go/analysis/passes/unsafeptr",
    "@org_golang_x_tools//go/analysis/passes/unusedresult",
    "@org_golang_x_tools//go/analysis/passes/unusedwrite",
]

# Append some passes provided by CockroachDB.
NOGO_PASSES += [
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/errcmp",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/errwrap",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/hash",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/nilness",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/nocopy",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/returnerrcheck",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/timer",
    "@com_github_cockroachdb_cockroach//pkg/testutils/lint/passes/unconvert",
]

# Combine all staticcheck analyzers with a list
# of all globally disabled staticcheck analyzers
# and append them to the nogo passes.
NOGO_PASSES += format_staticcheck_analyzers(ALL_STATICCHECK_ANALYZERS + [
    "-ST1000",  # at least one file in a package should have a package comment
    "-ST1003",  # should not use ALL_CAPS in Go names; use CamelCase instead
    "-QF1006",  # could lift into loop condition
    "-QF1003",  # could use tagged switch
    "-QF1008",  # Omit embedded fields from selector expression
])

NOGO_PASSES += [
    # This analyzer ensures that all comment lines are <= 80 characters long
    # in Go source. This is in line with general practices around the Go
    # community, where code lines can be as long as needed (and is expected
    # to be soft-reflowable by text editors), but comments are kept at a
    # 'standard' 80 characters long, as prose within comment blocks does not
    # soft-reflow well.
    "@com_github_corverroos_commentwrap//:go_default_library",
    "//build/analysis/checkcompilerdirectives",
    "//build/analysis/noioutil",
    "//build/analysis/importsort",
]

# NOGO_CONFIG contains the overrides for nogo to exempt specific files
# from being analyzed.
NOGO_CONFIG = {
    "shift": {
        "exclude_files": {
            "external/dev_gvisor_gvisor": "third_party",
        },
    },
    "stringintconv": {
        "exclude_files": {
            "external/com_github_masterminds_goutils": "third_party",
        },
    },
    "noioutil": {
        "exclude_files": {
            "external/": "TODO(tim): break me up and filter out unmaintained dependencies",
        },
    },
    "nilness": {
        "exclude_files": {
            "external/org_golang_x_tools": "third_party",
            "external/in_gopkg_yaml_v2": "third_party",
            "external/com_github_google_cadvisor": "third_party",
            "external/com_github_pkg_sftp": "third_party",
            "external/com_github_vishvananda_netlink": "third_party",
            "external/com_github_go_sql_driver_mysql": "third_party",
            "external/com_github_google_go_tpm": "third_party",
            "external/com_github_json_iterator_go": "third_party",
            "external/com_github_gregjones_httpcache": "third_party",
            "external/com_github_cilium_ebpf": "third_party",
            "external/com_github_urfave_cli": "third_party",
            "external/in_gopkg_square_go_jose_v2": "third_party",
            "external/com_github_alecthomas_kingpin_v2": "third_party",
            "external/io_k8s_mount_utils": "third_party",
            "external/com_github_stefanberger_go_pkcs11uri": "third_party",
            "external/com_github_go_delve_delve": "third_party",
            "external/io_opencensus_go": "third_party",
            "external/io_k8s_apimachinery": "third_party",
            "external/io_k8s_kubernetes": "third_party",
            "external/io_k8s_kube_openapi": "third_party",
            "external/io_k8s_apiextensions_apiserver": "third_party",
            "external/io_etcd_go_etcd_client_v3": "third_party",
            "external/com_github_coredns_coredns": "third_party",
            "external/io_etcd_go_etcd_server_v3": "third_party",
            "external/com_github_containerd_containerd": "third_party",
            "external/io_k8s_client_go": "third_party",
            "external/io_k8s_apiserver": "third_party",
            "external/io_k8s_kubectl": "third_party",
            "external/com_github_spf13_pflag": "third_party",
            "external/com_github_burntsushi_toml": "third_party",
        },
    },
    "unsafeptr": {
        "exclude_files": {
            "external/com_github_modern_go_reflect2/": "third_party",
            "sqlite3.*go": "third_party",
            "external/dev_gvisor_gvisor/": "third_party",
            "external/io_k8s_sigs_structured_merge_diff/": "third_party",
            "external/com_github_go_delve_delve/": "third_party",
            "external/com_github_mailru_easyjson/jlexer/": "third_party",
            "external/com_github_cilium_ebpf/": "third_party",
            "external/org_golang_x_sys": "third_party",
            "external/net_starlark_go": "third_party",
            "external/com_github_pingcap_tidb_parser": "third_party",
            "external/com_github_dennwc_btrfs": "third_party",
        },
    },
    "lostcancel": {
        "exclude_files": {
            "external/org_golang_x_tools": "third_party",
            "external/com_github_grpc_ecosystem_grpc_gateway": "third_party",
        },
    },
    "deepequalerrors": {
        "exclude_files": {
            "external/com_github_u_root_uio": "third_party",
        },
    },
    "copylocks": {
        "exclude_files": {
            "external/org_golang_google_protobuf": "third_party",
            "external/com_github_derekparker_trie": "third_party",
            "external/com_github_hodgesds_perf_utils": "third_party",
            "external/com_github_google_gnostic": "third_party",
            "external/com_github_coredns_coredns": "third_party",
            "external/com_github_pseudomuto_protoc_gen_doc": "third_party",
            "external/io_k8s_apiserver": "third_party",
        },
    },
    "defers": {
        "exclude_files": {
            "external/com_github_sbezverk_nfproxy": "third_party",
        },
    },
    "unparam": {
        "exclude_files": {
            "external/": "third_party",
            "bazel-out/": "generated_output",
            "cgo/": "cgo",
        },
    },
}

# All analyzers that should be disabled for external, generated or cgo code.
DISABLED_FOR_EXTERNAL_CODE = [
    "exclude_files",
    "commentwrap",
    "importsort",
    "unreachable",
    "unusedwrite",
    "composites",
    "stdmethods",
    "reflectvaluecompare",
    "unconvert",
    "errwrap",
    "ruleguard",
    "returnerrcheck",
    "hash",
    "errcmp",
] + ALL_STATICCHECK_ANALYZERS

# We override the variable with itself unioned with the other
# config part, as the Intellij integration doesn't understand
# the |= expression which makes editing this file kinda annoying.
NOGO_CONFIG = NOGO_CONFIG | {
    analyzer: {
        "exclude_files": {
            # Don't run linters on external dependencies
            "external/": "third_party",
            "bazel-out/": "generated_output",
            "cgo/": "cgo",
        },
    }
    for analyzer in DISABLED_FOR_EXTERNAL_CODE
}

write_file(
    name = "nogo_config",
    out = "nogo_config.json",
    content = [json.encode_indent(NOGO_CONFIG)],
)

nogo(
    name = "nogo",
    config = ":nogo_config",
    visibility = ["//visibility:public"],
    deps = NOGO_PASSES,
)
