forked from hswaw/hscloud
Merge "go: bump rules_go, autodetect nix for go toolchains"
commit
80c9b015d0
23
WORKSPACE
23
WORKSPACE
|
@ -169,24 +169,27 @@ http_file(
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "io_bazel_rules_go",
|
name = "io_bazel_rules_go",
|
||||||
urls = [
|
urls = [
|
||||||
"https://storage.googleapis.com/bazel-mirror/github.com/bazelbuild/rules_go/releases/download/0.18.7/rules_go-0.18.7.tar.gz",
|
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.21.3/rules_go-v0.21.3.tar.gz",
|
||||||
"https://github.com/bazelbuild/rules_go/releases/download/0.18.7/rules_go-0.18.7.tar.gz",
|
"https://github.com/bazelbuild/rules_go/releases/download/v0.21.3/rules_go-v0.21.3.tar.gz",
|
||||||
],
|
],
|
||||||
sha256 = "45409e6c4f748baa9e05f8f6ab6efaa05739aa064e3ab94e5a1a09849c51806a",
|
sha256 = "af04c969321e8f428f63ceb73463d6ea817992698974abeff0161e069cd08bd6",
|
||||||
)
|
)
|
||||||
|
|
||||||
load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains")
|
# Invoke go_rules_dependencies depending on host platform.
|
||||||
|
load("//tools:go_sdk.bzl", "gen_imports")
|
||||||
go_rules_dependencies()
|
gen_imports(name = "go_sdk_imports")
|
||||||
|
load("@go_sdk_imports//:imports.bzl", "load_go_sdk")
|
||||||
go_register_toolchains()
|
load_go_sdk()
|
||||||
|
|
||||||
# Go Gazelle rules
|
# Go Gazelle rules
|
||||||
|
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "bazel_gazelle",
|
name = "bazel_gazelle",
|
||||||
urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/0.17.0/bazel-gazelle-0.17.0.tar.gz"],
|
urls = [
|
||||||
sha256 = "3c681998538231a2d24d0c07ed5a7658cb72bfb5fd4bf9911157c0e9ac6a2687",
|
"https://storage.googleapis.com/bazel-mirror/github.com/bazelbuild/bazel-gazelle/releases/download/v0.20.0/bazel-gazelle-v0.20.0.tar.gz",
|
||||||
|
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.20.0/bazel-gazelle-v0.20.0.tar.gz",
|
||||||
|
],
|
||||||
|
sha256 = "d8c45ee70ec39a57e7a05e5027c32b1576cc7f16d9dd37135b0eddde45cf1b10",
|
||||||
)
|
)
|
||||||
|
|
||||||
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
|
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
def _gen_imports_impl(ctx):
|
||||||
|
ctx.file("BUILD", "")
|
||||||
|
|
||||||
|
is_nixos = "NIX_PATH" in ctx.os.environ
|
||||||
|
bzl_file_content = """
|
||||||
|
load(
|
||||||
|
"@io_bazel_rules_go//go:deps.bzl",
|
||||||
|
"go_register_toolchains",
|
||||||
|
"go_rules_dependencies",
|
||||||
|
)
|
||||||
|
def load_go_sdk():
|
||||||
|
go_rules_dependencies()
|
||||||
|
go_register_toolchains({go_version})
|
||||||
|
""".format(
|
||||||
|
go_version = 'go_version = "host"' if is_nixos else "",
|
||||||
|
)
|
||||||
|
|
||||||
|
ctx.file("imports.bzl", bzl_file_content)
|
||||||
|
|
||||||
|
_gen_imports = repository_rule(
|
||||||
|
implementation = _gen_imports_impl,
|
||||||
|
attrs = dict(),
|
||||||
|
)
|
||||||
|
|
||||||
|
def gen_imports(name):
|
||||||
|
_gen_imports(
|
||||||
|
name = name,
|
||||||
|
)
|
Loading…
Reference in New Issue