| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 1 | go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk") |
| Tim Windelschmidt | 677de97 | 2024-09-25 05:30:04 +0200 | [diff] [blame] | 2 | go_sdk.download(version = "1.23.1") |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 3 | go_sdk.nogo(nogo = "//build/analysis:nogo") |
| 4 | |
| 5 | go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") |
| 6 | go_deps.from_file(go_mod = "//:go.mod") |
| 7 | |
| 8 | # All *direct* Go dependencies of the module have to be listed explicitly. |
| 9 | # This list can be automatically updated by running "bazel mod tidy". |
| 10 | use_repo( |
| 11 | go_deps, |
| 12 | "co_honnef_go_tools", |
| 13 | "com_4d63_gocheckcompilerdirectives", |
| 14 | "com_github_adrg_xdg", |
| 15 | "com_github_cavaliergopher_cpio", |
| 16 | "com_github_cenkalti_backoff_v4", |
| 17 | "com_github_cockroachdb_cockroach_go_v2", |
| 18 | "com_github_container_storage_interface_spec", |
| Lorenz Brun | 0ec0c53 | 2024-08-29 12:39:47 +0000 | [diff] [blame] | 19 | "com_github_containerd_containerd_v2", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 20 | "com_github_containernetworking_plugins", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 21 | "com_github_coreos_go_semver", |
| 22 | "com_github_corverroos_commentwrap", |
| 23 | "com_github_diskfs_go_diskfs", |
| 24 | "com_github_docker_distribution", |
| Serge Bazanski | 0d9e125 | 2024-09-03 12:16:47 +0200 | [diff] [blame] | 25 | "com_github_gdamore_tcell_v2", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 26 | "com_github_go_delve_delve", |
| 27 | "com_github_golang_migrate_migrate_v4", |
| 28 | "com_github_google_cel_go", |
| 29 | "com_github_google_certificate_transparency_go", |
| 30 | "com_github_google_go_cmp", |
| 31 | "com_github_google_go_tpm", |
| 32 | "com_github_google_go_tpm_tools", |
| 33 | "com_github_google_gopacket", |
| 34 | "com_github_google_nftables", |
| 35 | "com_github_google_uuid", |
| 36 | "com_github_iancoleman_strcase", |
| 37 | "com_github_improbable_eng_grpc_web", |
| 38 | "com_github_insomniacslk_dhcp", |
| 39 | "com_github_joho_godotenv", |
| 40 | "com_github_kballard_go_shellquote", |
| 41 | "com_github_kevinburke_go_bindata", |
| 42 | "com_github_klauspost_compress", |
| 43 | "com_github_lib_pq", |
| 44 | "com_github_mattn_go_shellwords", |
| 45 | "com_github_mdlayher_arp", |
| 46 | "com_github_mdlayher_ethernet", |
| 47 | "com_github_mdlayher_ethtool", |
| 48 | "com_github_mdlayher_genetlink", |
| 49 | "com_github_mdlayher_kobject", |
| 50 | "com_github_mdlayher_netlink", |
| 51 | "com_github_mdlayher_packet", |
| Jan Schär | 4a18022 | 2024-07-29 16:32:54 +0200 | [diff] [blame] | 52 | "com_github_miekg_dns", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 53 | "com_github_mitchellh_go_wordwrap", |
| 54 | "com_github_opencontainers_go_digest", |
| 55 | "com_github_opencontainers_runc", |
| 56 | "com_github_packethost_packngo", |
| 57 | "com_github_pkg_errors", |
| 58 | "com_github_pkg_sftp", |
| 59 | "com_github_prometheus_client_golang", |
| 60 | "com_github_prometheus_node_exporter", |
| Serge Bazanski | 0d9e125 | 2024-09-03 12:16:47 +0200 | [diff] [blame] | 61 | "com_github_rivo_uniseg", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 62 | "com_github_rmohr_bazeldnf", |
| 63 | "com_github_sbezverk_nfproxy", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 64 | "com_github_schollz_progressbar_v3", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 65 | "com_github_spf13_cobra", |
| 66 | "com_github_spf13_pflag", |
| 67 | "com_github_sqlc_dev_sqlc", |
| 68 | "com_github_stretchr_testify", |
| 69 | "com_github_vishvananda_netlink", |
| 70 | "com_github_yalue_native_endian", |
| 71 | "com_google_cloud_go_storage", |
| 72 | "com_zx2c4_golang_wireguard_wgctrl", |
| 73 | "dev_gvisor_gvisor", |
| 74 | "io_etcd_go_etcd_api_v3", |
| 75 | "io_etcd_go_etcd_client_pkg_v3", |
| 76 | "io_etcd_go_etcd_client_v3", |
| 77 | "io_etcd_go_etcd_server_v3", |
| 78 | "io_etcd_go_etcd_tests_v3", |
| 79 | "io_k8s_api", |
| 80 | "io_k8s_apimachinery", |
| 81 | "io_k8s_apiserver", |
| 82 | "io_k8s_cli_runtime", |
| 83 | "io_k8s_client_go", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 84 | "io_k8s_component_base", |
| 85 | "io_k8s_klog_v2", |
| 86 | "io_k8s_kubectl", |
| 87 | "io_k8s_kubelet", |
| 88 | "io_k8s_kubernetes", |
| 89 | "io_k8s_pod_security_admission", |
| Jan Schär | a48bd3c | 2024-07-29 17:22:18 +0200 | [diff] [blame] | 90 | "io_k8s_utils", |
| Tim Windelschmidt | 5178dd7 | 2024-12-04 04:38:45 +0100 | [diff] [blame] | 91 | "org_golang_google_api", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 92 | "org_golang_google_genproto_googleapis_api", |
| 93 | "org_golang_google_grpc", |
| 94 | "org_golang_google_protobuf", |
| 95 | "org_golang_x_crypto", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 96 | "org_golang_x_net", |
| 97 | "org_golang_x_sync", |
| 98 | "org_golang_x_sys", |
| Tim Windelschmidt | 7a1b27d | 2024-02-22 23:54:58 +0100 | [diff] [blame] | 99 | "org_golang_x_term", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 100 | "org_golang_x_text", |
| 101 | "org_golang_x_time", |
| 102 | "org_golang_x_tools", |
| 103 | "org_uber_go_multierr", |
| 104 | "org_uber_go_zap", |
| 105 | ) |
| 106 | |
| 107 | # Instead of defining a gazelle/module override for every dependency, we have a |
| 108 | # big dict containing all of them. |
| 109 | OVERRIDES = { |
| Lorenz Brun | 0ec0c53 | 2024-08-29 12:39:47 +0000 | [diff] [blame] | 110 | "github.com/containerd/containerd/v2": { |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 111 | "directives": [ |
| 112 | "gazelle:proto disable", |
| 113 | "gazelle:build_tags no_btrfs,no_zfs", |
| 114 | ], |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 115 | }, |
| 116 | "github.com/containerd/cgroups/v3": { |
| 117 | "directives": [ |
| 118 | "gazelle:proto disable", |
| 119 | ], |
| 120 | }, |
| 121 | "github.com/containerd/nri": { |
| 122 | "directives": [ |
| 123 | "gazelle:proto disable", |
| 124 | ], |
| 125 | }, |
| 126 | "github.com/gogo/protobuf": { |
| 127 | "directives": [ |
| 128 | "gazelle:proto disable", |
| 129 | ], |
| 130 | }, |
| 131 | "github.com/google/cel-go": { |
| 132 | "build_file_generation": "on", |
| 133 | "directives": [ |
| 134 | "gazelle:go_naming_convention go_default_library", |
| 135 | ], |
| 136 | }, |
| 137 | "github.com/google/go-tpm-tools": { |
| 138 | "directives": [ |
| 139 | "gazelle:proto file", |
| 140 | ], |
| 141 | "pre_patches": [ |
| 142 | "//third_party/go/patches:go-tpm-tools-fix-proto-paths.patch", |
| 143 | ], |
| 144 | }, |
| 145 | "github.com/googleapis/gax-go/v2": { |
| 146 | "directives": [ |
| 147 | "gazelle:proto disable", |
| 148 | ], |
| 149 | }, |
| 150 | "github.com/Microsoft/hcsshim": { |
| 151 | "directives": [ |
| 152 | "gazelle:proto disable", |
| 153 | ], |
| 154 | }, |
| 155 | "github.com/opencontainers/runc": { |
| 156 | "directives": [ |
| 157 | "gazelle:build_tags seccomp", |
| 158 | ], |
| 159 | "patches": [ |
| 160 | "//third_party/go/patches:runc-add-cdeps.patch", |
| 161 | ], |
| 162 | }, |
| 163 | "github.com/prometheus/node_exporter": { |
| 164 | "directives": [ |
| 165 | "gazelle:build_tags nobtrfs,nozfs,notapestats,norapl", |
| 166 | ], |
| 167 | }, |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 168 | "github.com/google/cadvisor": { |
| 169 | "directives": [ |
| 170 | "gazelle:proto disable_global", |
| 171 | ], |
| Lorenz Brun | 837cb8e | 2024-12-23 13:52:56 +0100 | [diff] [blame] | 172 | "pre_patches": [ |
| 173 | "//third_party/go/patches:cadvisor-errdefs1.patch", |
| 174 | ], |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 175 | }, |
| 176 | "github.com/sqlc-dev/sqlc": { |
| 177 | "build_extra_args": [ |
| 178 | "-exclude=internal/ext/wasm/wasm.go", |
| 179 | ], |
| 180 | "directives": [ |
| 181 | "gazelle:proto disable", |
| 182 | ], |
| 183 | }, |
| 184 | "github.com/containerd/ttrpc": { |
| 185 | "directives": [ |
| 186 | "gazelle:proto disable", |
| 187 | ], |
| 188 | }, |
| 189 | "go.etcd.io/etcd/api/v3": { |
| 190 | "directives": [ |
| 191 | "gazelle:proto disable", |
| 192 | ], |
| 193 | }, |
| 194 | "go.etcd.io/etcd/raft/v3": { |
| 195 | "directives": [ |
| 196 | "gazelle:proto disable", |
| 197 | ], |
| 198 | }, |
| 199 | "go.etcd.io/etcd/server/v3": { |
| 200 | "directives": [ |
| 201 | "gazelle:proto disable", |
| 202 | ], |
| 203 | "patches": [ |
| 204 | "//third_party/go/patches:etcd-fix-embed-close.patch", |
| Jan Schär | e551d31 | 2024-09-17 12:38:54 +0200 | [diff] [blame] | 205 | "//third_party/go/patches:etcd-fix-islearner-panic.patch", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 206 | ], |
| 207 | }, |
| 208 | "github.com/grpc-ecosystem/grpc-gateway": { |
| 209 | # Force generation of new build files for this package, required due to changes in how gazelle handles @go_googleapis. |
| 210 | "build_file_generation": "on", |
| 211 | "directives": [ |
| 212 | "gazelle:exclude **/**_test.go", |
| 213 | "gazelle:exclude examples", |
| 214 | "gazelle:resolve go github.com/grpc-ecosystem/grpc-gateway/internal //internal", |
| 215 | "gazelle:resolve go github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options //protoc-gen-swagger/options", |
| 216 | "gazelle:proto disable_global", |
| 217 | ], |
| 218 | }, |
| 219 | "k8s.io/api": { |
| 220 | "directives": [ |
| 221 | "gazelle:proto disable", |
| 222 | ], |
| 223 | }, |
| 224 | "k8s.io/apiextensions-apiserver": { |
| 225 | "directives": [ |
| 226 | "gazelle:proto disable", |
| 227 | ], |
| 228 | }, |
| 229 | "k8s.io/apiserver": { |
| 230 | "directives": [ |
| 231 | "gazelle:proto disable", |
| 232 | ], |
| 233 | }, |
| 234 | "k8s.io/cri-api": { |
| 235 | "directives": [ |
| 236 | "gazelle:proto disable", |
| 237 | ], |
| 238 | }, |
| 239 | "k8s.io/kube-aggregator": { |
| 240 | "directives": [ |
| 241 | "gazelle:proto disable", |
| 242 | ], |
| 243 | }, |
| 244 | "k8s.io/kubelet": { |
| 245 | "directives": [ |
| 246 | "gazelle:proto disable", |
| 247 | ], |
| 248 | "patches": [ |
| 249 | "//third_party/go/patches:kubelet-fix-path.patch", |
| 250 | ], |
| 251 | }, |
| 252 | "k8s.io/kubernetes": { |
| 253 | "directives": [ |
| 254 | "gazelle:proto disable", |
| 255 | "gazelle:build_tags providerless,dockerless", |
| 256 | ], |
| 257 | "patches": [ |
| 258 | "//third_party/go/patches:k8s-native-metrics.patch", |
| 259 | "//third_party/go/patches:k8s-removed-block-device-pseudo-locks.patch", |
| 260 | "//third_party/go/patches:k8s-add-pause-build-file.patch", |
| 261 | "//third_party/go/patches:k8s-reserve-metropolis-ports-import.patch", |
| 262 | ], |
| 263 | "pre_patches": [ |
| 264 | "//third_party/go/patches:k8s-drop-legacy-log-path.patch", |
| 265 | "//third_party/go/patches:k8s-reserve-metropolis-ports.patch", |
| 266 | ], |
| 267 | }, |
| 268 | "k8s.io/metrics": { |
| 269 | "directives": [ |
| 270 | "gazelle:proto disable", |
| 271 | ], |
| 272 | }, |
| 273 | "google.golang.org/genproto/googleapis/api": { |
| 274 | "directives": [ |
| 275 | "gazelle:proto disable_global", |
| 276 | ], |
| 277 | }, |
| 278 | "google.golang.org/genproto/googleapis/rpc": { |
| 279 | "directives": [ |
| 280 | "gazelle:proto disable_global", |
| 281 | ], |
| 282 | }, |
| 283 | "google.golang.org/grpc": { |
| 284 | "directives": [ |
| 285 | "gazelle:proto disable", |
| 286 | ], |
| 287 | }, |
| 288 | "github.com/pingcap/tidb/parser": { |
| 289 | "build_file_generation": "on", |
| 290 | }, |
| 291 | "golang.org/x/mod": { |
| 292 | "build_extra_args": [ |
| 293 | "-go_naming_convention=import_alias", |
| 294 | "-go_naming_convention_external=import_alias", |
| 295 | ], |
| 296 | }, |
| 297 | "golang.org/x/sync": { |
| 298 | "build_extra_args": [ |
| 299 | "-go_naming_convention=import_alias", |
| 300 | "-go_naming_convention_external=import_alias", |
| 301 | ], |
| 302 | }, |
| 303 | "github.com/containernetworking/cni": { |
| 304 | "patches": [ |
| 305 | "//third_party/go/patches:cni-fix-cachepath.patch", |
| 306 | ], |
| 307 | }, |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 308 | "github.com/corverroos/commentwrap": { |
| 309 | "patches": [ |
| 310 | "//third_party/go/patches:commentwrap-uri.patch", |
| 311 | ], |
| 312 | }, |
| 313 | "github.com/go-delve/delve": { |
| 314 | "patches": [ |
| 315 | "//third_party/go/patches:delve-fix-cgo.patch", |
| 316 | ], |
| 317 | }, |
| 318 | "github.com/pganalyze/pg_query_go/v4": { |
| 319 | "patches": [ |
| 320 | "//third_party/go/patches:pganalyze-add-cdeps.patch", |
| 321 | ], |
| 322 | }, |
| 323 | "github.com/sbezverk/nfproxy": { |
| 324 | "pre_patches": [ |
| 325 | "//third_party/go/patches:nfproxy-adapt-to-k8s-1.28.patch", |
| Lorenz Brun | 11bf3d3 | 2025-01-07 17:49:27 +0100 | [diff] [blame] | 326 | "//third_party/go/patches:nfproxy-adapt-to-nftables-0.2.patch", |
| 327 | ], |
| 328 | }, |
| 329 | "github.com/google/nftables": { |
| 330 | "pre_patches": [ |
| 331 | "//third_party/go/patches:nftables-bigger-buffers.patch", |
| 332 | "//third_party/go/patches:nftables-dynamic-exprs.patch", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 333 | ], |
| 334 | }, |
| 335 | "k8s.io/kubectl": { |
| 336 | "patches": [ |
| 337 | "//third_party/go/patches:kubectl-fix-embed.patch", |
| 338 | ], |
| 339 | }, |
| 340 | "github.com/seccomp/libseccomp-golang": { |
| 341 | "patches": [ |
| 342 | "//third_party/go/patches:libseccomp.patch", |
| 343 | ], |
| 344 | }, |
| 345 | "github.com/vishvananda/netlink": { |
| 346 | "patches": [ |
| Lorenz Brun | 153c9c1 | 2025-01-07 17:44:45 +0100 | [diff] [blame] | 347 | "//third_party/go/patches:netlink-psample.patch", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 348 | ], |
| 349 | }, |
| 350 | "gvisor.dev/gvisor": { |
| 351 | "patches": [ |
| 352 | "//third_party/go/patches:gvisor-fix-syslog.patch", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 353 | ], |
| 354 | "pre_patches": [ |
| 355 | "//third_party/go/patches:gvisor-containerd-compat.patch", |
| Tim Windelschmidt | e5e90a8 | 2024-07-17 23:46:22 +0200 | [diff] [blame] | 356 | ], |
| 357 | }, |
| 358 | "go.etcd.io/etcd/tests/v3": { |
| 359 | "patches": [ |
| 360 | "//third_party/go/patches:etcd-integration-logging.patch", |
| 361 | ], |
| 362 | }, |
| 363 | "k8s.io/mount-utils": { |
| 364 | "pre_patches": [ |
| 365 | "//third_party/go/patches:k8s-native-mounter.patch", |
| 366 | ], |
| 367 | }, |
| 368 | "golang.org/x/tools": { |
| 369 | "patches": [ |
| 370 | "//third_party/go/patches:goimports-group-merging.patch", |
| 371 | ], |
| 372 | }, |
| 373 | } |
| 374 | |
| 375 | # MODULE.bazel doesn't support loops, but since we have lots of overrides, |
| 376 | # this is the more readable approach. |
| 377 | [ |
| 378 | [ |
| 379 | go_deps.gazelle_override( |
| 380 | build_extra_args = overrides.get("build_extra_args") or [], |
| 381 | build_file_generation = overrides.get("build_file_generation") or "auto", |
| 382 | directives = overrides.get("directives") or [], |
| 383 | path = path, |
| 384 | ), |
| 385 | go_deps.module_override( |
| 386 | patch_strip = 1, |
| 387 | patches = overrides.get("patches") or [], |
| 388 | path = path, |
| 389 | pre_patches = overrides.get("pre_patches") or [], |
| 390 | ), |
| 391 | ] |
| 392 | for path, overrides in OVERRIDES.items() |
| 393 | ] |