| workspace(name = "bazel_gazelle") |
| |
| load("//:deps.bzl", "gazelle_dependencies") |
| |
| gazelle_dependencies(go_sdk = "go_sdk") |
| |
| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| http_archive( |
| name = "io_bazel_rules_go", |
| sha256 = "f4a9314518ca6acfa16cc4ab43b0b8ce1e4ea64b81c38d8a3772883f153346b8", |
| urls = [ |
| "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.50.1/rules_go-v0.50.1.zip", |
| "https://github.com/bazelbuild/rules_go/releases/download/v0.50.1/rules_go-v0.50.1.zip", |
| ], |
| ) |
| |
| # TODO: The rules_go bazel_features shim doesn't provide targets for .bzl files. |
| http_archive( |
| name = "bazel_features", |
| sha256 = "d7787da289a7fb497352211ad200ec9f698822a9e0757a4976fd9f713ff372b3", |
| strip_prefix = "bazel_features-1.9.1", |
| url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.9.1/bazel_features-v1.9.1.tar.gz", |
| ) |
| |
| load("@bazel_features//:deps.bzl", "bazel_features_deps") |
| |
| bazel_features_deps() |
| |
| load("@io_bazel_rules_go//go:deps.bzl", "go_download_sdk", "go_register_nogo", "go_register_toolchains", "go_rules_dependencies") |
| |
| go_rules_dependencies() |
| |
| go_register_toolchains(version = "1.23.3") |
| |
| go_register_nogo( |
| excludes = [ |
| # //cmd/gazelle:gazelle_lib has incomplete deps on purpose, which |
| # trips up nogo. |
| "@//cmd/gazelle:__pkg__", |
| ], |
| nogo = "@bazel_gazelle//:nogo", |
| ) |
| |
| # Go 1.22 is needed since the non-hermeticity of GoToolchainBinaryBuild results in it downloading |
| # Go 1.23 on Windows to build the builder, which then messes up Go version build tag filtering. |
| # Go 1.21 is needed to support the toolchain directive in go.mod, which is non-hermetically read |
| # by GoToolchainBinaryBuild on Windows. |
| # Go 1.20 is needed so support nogo's use of token.File.FileStart. |
| # Go 1.19 is needed for recent versions of golang.org/x/tools. |
| # TODO: Fix rules_go and set this back to 1.19. |
| go_download_sdk( |
| name = "go_compat_sdk", |
| version = "1.22.9", |
| ) |
| |
| # Load recent versions of core rulesets for compatibility with Bazel 8. |
| http_archive( |
| name = "rules_cc", |
| sha256 = "abc605dd850f813bb37004b77db20106a19311a96b2da1c92b789da529d28fe1", |
| strip_prefix = "rules_cc-0.0.17", |
| urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.17/rules_cc-0.0.17.tar.gz"], |
| ) |
| |
| http_archive( |
| name = "rules_python", |
| sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53", |
| strip_prefix = "rules_python-0.40.0", |
| url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz", |
| ) |
| |
| load("@rules_python//python:repositories.bzl", "py_repositories") |
| |
| py_repositories() |
| |
| http_archive( |
| name = "rules_java", |
| sha256 = "d31b6c69e479ffa45460b64dc9c7792a431cac721ef8d5219fc9f603fa2ff877", |
| urls = [ |
| "https://github.com/bazelbuild/rules_java/releases/download/8.11.0/rules_java-8.11.0.tar.gz", |
| ], |
| ) |
| |
| load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") |
| |
| rules_java_dependencies() |
| |
| # note that the following line is what is minimally required from protobuf for the java rules |
| # consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl |
| load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_bazel_features") # buildifier: disable=bzl-visibility |
| |
| proto_bazel_features(name = "proto_bazel_features") |
| |
| load("@rules_java//java:repositories.bzl", "rules_java_toolchains") |
| |
| rules_java_toolchains() |
| |
| http_archive( |
| name = "rules_shell", |
| sha256 = "d8cd4a3a91fc1dc68d4c7d6b655f09def109f7186437e3f50a9b60ab436a0c53", |
| strip_prefix = "rules_shell-0.3.0", |
| url = "https://github.com/bazelbuild/rules_shell/releases/download/v0.3.0/rules_shell-v0.3.0.tar.gz", |
| ) |
| |
| load("@rules_shell//shell:repositories.bzl", "rules_shell_dependencies", "rules_shell_toolchains") |
| |
| rules_shell_dependencies() |
| |
| rules_shell_toolchains() |
| |
| # Needed by rules_go when using proto rules, but not provided by its deps macro. |
| http_archive( |
| name = "rules_proto", |
| sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295", |
| strip_prefix = "rules_proto-6.0.2", |
| url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.2/rules_proto-6.0.2.tar.gz", |
| ) |
| |
| load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies") |
| |
| rules_proto_dependencies() |
| |
| load("@rules_proto//proto:setup.bzl", "rules_proto_setup") |
| |
| rules_proto_setup() |
| |
| load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains") |
| |
| rules_proto_toolchains() |
| |
| # For API doc generation |
| # This is a dev dependency, users should not need to install it |
| # so we declare it in the WORKSPACE |
| http_archive( |
| name = "io_bazel_stardoc", |
| sha256 = "62bd2e60216b7a6fec3ac79341aa201e0956477e7c8f6ccc286f279ad1d96432", |
| urls = [ |
| "https://mirror.bazel.build/github.com/bazelbuild/stardoc/releases/download/0.6.2/stardoc-0.6.2.tar.gz", |
| "https://github.com/bazelbuild/stardoc/releases/download/0.6.2/stardoc-0.6.2.tar.gz", |
| ], |
| ) |
| |
| # Stardoc pulls in a lot of deps, which we need to declare here. |
| load("@io_bazel_stardoc//:setup.bzl", "stardoc_repositories") |
| |
| stardoc_repositories() |
| |
| load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") |
| |
| rules_jvm_external_deps() |
| |
| load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") |
| |
| rules_jvm_external_setup() |
| |
| load("@io_bazel_stardoc//:deps.bzl", "stardoc_external_deps") |
| |
| stardoc_external_deps() |
| |
| load("@stardoc_maven//:defs.bzl", stardoc_pinned_maven_install = "pinned_maven_install") |
| |
| stardoc_pinned_maven_install() |
| |
| load("@bazel_skylib//lib:unittest.bzl", "register_unittest_toolchains") |
| |
| register_unittest_toolchains() |
| |
| http_archive( |
| name = "bazel_skylib_gazelle_plugin", |
| sha256 = "747addf3f508186234f6232674dd7786743efb8c68619aece5fb0cac97b8f415", |
| urls = [ |
| "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-gazelle-plugin-1.5.0.tar.gz", |
| "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-gazelle-plugin-1.5.0.tar.gz", |
| ], |
| ) |
| |
| load("@bazel_skylib_gazelle_plugin//:workspace.bzl", "bazel_skylib_gazelle_plugin_workspace") |
| |
| bazel_skylib_gazelle_plugin_workspace() |
| |
| load("@bazel_skylib_gazelle_plugin//:setup.bzl", "bazel_skylib_gazelle_plugin_setup") |
| |
| bazel_skylib_gazelle_plugin_setup( |
| register_go_toolchains = False, |
| ) |