blob: bfc60d89a916eee775927e1f307743641e5e9174 [file] [log] [blame]
Leopoldbe326c22023-01-04 20:42:59 +01001load("@bazeldnf//:def.bzl", "bazeldnf")
Tim Windelschmidt156248b2025-01-10 00:27:45 +01002load("@buildifier_prebuilt//:rules.bzl", "buildifier", "buildifier_test")
Tim Windelschmidted9a5832025-02-04 03:02:45 +01003load("@gazelle//:def.bzl", "gazelle", "gazelle_test")
Tim Windelschmidt156248b2025-01-10 00:27:45 +01004load("@rules_multirun//:defs.bzl", "command", "multirun")
5
6exports_files([
7 "MODULE.bazel",
8])
Leopold Schabel5c80aca2019-10-22 15:48:58 +02009
Serge Bazanski31370b02021-01-07 16:31:14 +010010# gazelle:prefix source.monogon.dev
Lorenz Brund13c1c62022-03-30 19:58:58 +020011# gazelle:go_naming_convention import
Serge Bazanskifdc3a242022-04-06 15:56:38 +020012# gazelle:exclude **/gomod-generated-placeholder.go
Leopold7fbf1042023-01-06 19:57:37 +010013# gazelle:exclude .bazeldnf/**
Tim Windelschmidtd4817492025-06-16 15:03:12 +020014# gazelle:go_grpc_compilers @io_bazel_rules_go//proto:go_proto,@io_bazel_rules_go//proto:go_grpc_v2
Leopold Schabel5c80aca2019-10-22 15:48:58 +020015gazelle(name = "gazelle")
Leopold Schabeld868d692019-11-17 17:28:29 +010016
Tim Windelschmidt156248b2025-01-10 00:27:45 +010017gazelle_test(
18 name = "gazelle_test",
Tim Windelschmidt32e74302025-01-15 04:37:26 +010019 tags = ["no-remote"],
Tim Windelschmidt156248b2025-01-10 00:27:45 +010020 workspace = "//:MODULE.bazel",
21)
22
23BUILDIFIER_EXCLUDES = [
24 "./.git/*",
25 "./.ijwb/*",
26]
27
28# Buildifier formats all Starlark files.
29buildifier(
30 name = "buildifier",
31 exclude_patterns = BUILDIFIER_EXCLUDES,
32 lint_mode = "fix",
33 mode = "fix",
34)
35
36buildifier_test(
37 name = "buildifier_test",
38 exclude_patterns = BUILDIFIER_EXCLUDES,
39 lint_mode = "warn",
40 lint_warnings = [
41 "-module-docstring",
42 "-function-docstring-args",
43 "-function-docstring",
44 "-function-docstring-header",
45 "-function-docstring-return",
Tim Windelschmidt156248b2025-01-10 00:27:45 +010046 ],
47 no_sandbox = True,
Tim Windelschmidt32e74302025-01-15 04:37:26 +010048 tags = ["no-remote"],
Tim Windelschmidt156248b2025-01-10 00:27:45 +010049 workspace = "//:MODULE.bazel",
50)
51
Leopold Schabeld868d692019-11-17 17:28:29 +010052# Shortcut for the Go SDK
53alias(
54 name = "go",
Tim Windelschmidt7b8d86b2024-07-15 19:21:12 +020055 actual = "@io_bazel_rules_go//go",
Leopold Schabela4516f92019-12-04 20:27:05 +000056 visibility = ["//visibility:public"],
57)
58
Leopoldbe326c22023-01-04 20:42:59 +010059# bazeldnf binary
60bazeldnf(name = "bazeldnf")
61
Leopold Schabel26d41992020-12-15 19:27:58 +010062# Shortcuts for top-level binaries/tools
63
Serge Bazanski2fb13a82020-02-11 12:41:37 +010064# Shortcut for kubectl when running through bazel run
65# (don't depend on this, it might turn into an env-based PATH shortcut, use
Serge Bazanskibb7db922020-04-30 12:43:10 +020066# @io_k8s_kubernetes//cmd/kubectl instead)
Serge Bazanski2fb13a82020-02-11 12:41:37 +010067alias(
68 name = "kubectl",
Serge Bazanskibb7db922020-04-30 12:43:10 +020069 actual = "@io_k8s_kubernetes//cmd/kubectl:kubectl",
Serge Bazanski2fb13a82020-02-11 12:41:37 +010070)
Leopold Schabel3058b7a2020-06-03 17:51:07 +020071
72# Shortcut for the Delve debugger for interactive debugging
73alias(
74 name = "dlv",
75 actual = "@com_github_go_delve_delve//cmd/dlv:dlv",
76)
Lorenz Brunfc5dbc62020-05-28 12:18:07 +020077
Leopold Schabeld2120142021-12-03 21:30:49 +010078alias(
Leopold Schabel26d41992020-12-15 19:27:58 +010079 name = "goimports",
80 actual = "@org_golang_x_tools//cmd/goimports:goimports",
81 visibility = ["//visibility:public"],
82)
Tim Windelschmidt156248b2025-01-10 00:27:45 +010083
84command(
85 name = "go-mod-tidy",
86 arguments = [
87 "mod",
88 "tidy",
89 ],
90 command = ":go",
91)
92
93# Shortcut to update go.mod, gazelle files and formatting.
94multirun(
95 name = "tidy",
96 commands = [
97 ":go-mod-tidy",
98 ":gazelle",
99 ":buildifier",
100 ],
101)