1
0
Fork 0

go: bump rules_go, autodetect nix for go toolchains

Change-Id: If10a7843e5e54ade82fbeec85f4e6727e4d2a117
master
q3k 2020-02-15 01:04:38 +01:00
parent d7364520e9
commit e03c217cc1
2 changed files with 41 additions and 10 deletions

View File

@ -169,24 +169,27 @@ http_file(
http_archive(
name = "io_bazel_rules_go",
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://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/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")
go_rules_dependencies()
go_register_toolchains()
# Invoke go_rules_dependencies depending on host platform.
load("//tools:go_sdk.bzl", "gen_imports")
gen_imports(name = "go_sdk_imports")
load("@go_sdk_imports//:imports.bzl", "load_go_sdk")
load_go_sdk()
# Go Gazelle rules
http_archive(
name = "bazel_gazelle",
urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/0.17.0/bazel-gazelle-0.17.0.tar.gz"],
sha256 = "3c681998538231a2d24d0c07ed5a7658cb72bfb5fd4bf9911157c0e9ac6a2687",
urls = [
"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")

28
tools/go_sdk.bzl Normal file
View File

@ -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,
)