From e5dd5b300ab1221009cce25971273d0f7d200cd2 Mon Sep 17 00:00:00 2001 From: Jay Conrod Date: Mon, 16 Nov 2020 13:38:17 -0500 Subject: [PATCH 1/2] go_download_sdk: download release table from golang.org/dl If the sdks attribute is not set, go_download_sdk will now download a list of available releases from https://golang.org/dl. If the version attribute is not set, go_download_sdk will pick the highest available version (and Bazel will tell users to set the version attribute for a reproducible build). Even if version is set, we need to download the release list in order to get the SHA-256 sums. Bazel won't cache downloads without an SHA-256 sum. go_register_toolchains now requires the version argument (previously named go_version, which is still allowed) if no toolchain was declared earlier. With this change, rules_go no longer requires an update after a new Go version is released. Fixes #2405 --- WORKSPACE | 2 +- go/private/sdk.bzl | 234 +++++++++++++----- go/private/sdk_list.bzl | 475 ------------------------------------ go/toolchain/toolchains.bzl | 16 -- go/toolchains.rst | 58 ++--- 5 files changed, 190 insertions(+), 595 deletions(-) delete mode 100644 go/private/sdk_list.bzl diff --git a/WORKSPACE b/WORKSPACE index a772708737..af8dcd6449 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -6,7 +6,7 @@ load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_depe go_rules_dependencies(is_rules_go = True) -go_register_toolchains() +go_register_toolchains(version = "1.15.5") http_archive( name = "com_google_protobuf", diff --git a/go/private/sdk.bzl b/go/private/sdk.bzl index 5d3a43bc04..a21c2f51b6 100644 --- a/go/private/sdk.bzl +++ b/go/private/sdk.bzl @@ -20,12 +20,6 @@ load( "//go/private:nogo.bzl", "go_register_nogo", ) -load( - "//go/private:sdk_list.bzl", - "DEFAULT_VERSION", - "MIN_SUPPORTED_VERSION", - "SDK_REPOSITORIES", -) load( "//go/private:platforms.bzl", "generate_toolchain_names", @@ -35,6 +29,8 @@ load( "versions", ) +MIN_SUPPORTED_VERSION = "1.13" + def _go_host_sdk_impl(ctx): goroot = _detect_host_sdk(ctx) platform = _detect_sdk_platform(ctx, goroot) @@ -42,7 +38,7 @@ def _go_host_sdk_impl(ctx): _local_sdk(ctx, goroot) _go_host_sdk = repository_rule( - _go_host_sdk_impl, + implementation = _go_host_sdk_impl, environ = ["GOROOT"], ) @@ -51,33 +47,76 @@ def go_host_sdk(name, **kwargs): _register_toolchains(name) def _go_download_sdk_impl(ctx): - if ctx.attr.version: - if ctx.attr.sdks: - fail("version and sdks must not both be set") - if ctx.attr.version not in SDK_REPOSITORIES: - fail("unknown Go version: {}".format(ctx.attr.version)) - sdks = SDK_REPOSITORIES[ctx.attr.version] - elif ctx.attr.sdks: - sdks = ctx.attr.sdks - else: - sdks = SDK_REPOSITORIES[DEFAULT_VERSION] - if not ctx.attr.goos and not ctx.attr.goarch: - platform = _detect_host_platform(ctx) + goos, goarch = _detect_host_platform(ctx) else: if not ctx.attr.goos: - fail("goos set but goarch not set") - if not ctx.attr.goarch: fail("goarch set but goos not set") - platform = ctx.attr.goos + "_" + ctx.attr.goarch + if not ctx.attr.goarch: + fail("goos set but goarch not set") + goos, goarch = ctx.attr.goos, ctx.attr.goarch + platform = goos + "_" + goarch + _sdk_build_file(ctx, platform) + + version = ctx.attr.version + sdks = ctx.attr.sdks + + if not sdks: + # If sdks was unspecified, download a full list of files. + # If version was unspecified, pick the latest version. + # Even if version was specified, we need to download the file list + # to find the SHA-256 sum. If we don't have it, Bazel won't cache + # the downloaded archive. + if not version: + ctx.report_progress("Finding latest Go version") + else: + ctx.report_progress("Finding Go SHA-256 sums") + ctx.download( + url = [ + "https://golang.org/dl/?mode=json&include=all", + "https://golang.google.cn/dl/?mode=json&include=all", + ], + output = "versions.json", + ) + + data = ctx.read("versions.json") + sdks_by_version = _parse_versions_json(data) + + if not version: + highest_version = None + for v in sdks_by_version.keys(): + sv = versions.parse(v) + if v != ".".join([str(d) for d in sv]): + # skip pre-release versions + continue + if not highest_version or sv > highest_version: + highest_version = sv + if not highest_version: + fail("did not find any Go versions in https://golang.org/dl/?mode=json") + version = ".".join([str(d) for d in highest_version]) + sdks = sdks_by_version[version] + if platform not in sdks: fail("unsupported platform {}".format(platform)) filename, sha256 = sdks[platform] - _sdk_build_file(ctx, platform) _remote_sdk(ctx, [url.format(filename) for url in ctx.attr.urls], ctx.attr.strip_prefix, sha256) + if not ctx.attr.sdks and not ctx.attr.version: + # Returning this makes Bazel print a message that 'version' must be + # specified for a reproducible build. + return { + "name": ctx.attr.name, + "goos": ctx.attr.goos, + "goarch": ctx.attr.goarch, + "sdks": ctx.attr.sdks, + "urls": ctx.attr.urls, + "version": version, + "strip_prefix": ctx.attr.strip_prefix, + } + return None + _go_download_sdk = repository_rule( - _go_download_sdk_impl, + implementation = _go_download_sdk_impl, attrs = { "goos": attr.string(), "goarch": attr.string(), @@ -99,7 +138,7 @@ def _go_local_sdk_impl(ctx): _local_sdk(ctx, goroot) _go_local_sdk = repository_rule( - _go_local_sdk_impl, + implementation = _go_local_sdk_impl, attrs = { "path": attr.string(), }, @@ -116,7 +155,7 @@ def _go_wrap_sdk_impl(ctx): _local_sdk(ctx, goroot) _go_wrap_sdk = repository_rule( - _go_wrap_sdk_impl, + implementation = _go_wrap_sdk_impl, attrs = { "root_file": attr.label( mandatory = True, @@ -137,29 +176,14 @@ def _register_toolchains(repo): native.register_toolchains(*labels) def _remote_sdk(ctx, urls, strip_prefix, sha256): - # TODO(bazelbuild/bazel#7055): download_and_extract fails to extract - # archives containing files with non-ASCII names. Go 1.12b1 has a test - # file like this. Remove this workaround when the bug is fixed. if len(urls) == 0: fail("no urls specified") - if urls[0].endswith(".tar.gz"): - if strip_prefix != "go": - fail("strip_prefix not supported") - ctx.download( - url = urls, - sha256 = sha256, - output = "go_sdk.tar.gz", - ) - res = ctx.execute(["tar", "-xf", "go_sdk.tar.gz", "--strip-components=1"]) - if res.return_code: - fail("error extracting Go SDK:\n" + res.stdout + res.stderr) - ctx.execute(["rm", "go_sdk.tar.gz"]) - else: - ctx.download_and_extract( - url = urls, - stripPrefix = strip_prefix, - sha256 = sha256, - ) + ctx.report_progress("Downloading and extracting Go toolchain") + ctx.download_and_extract( + url = urls, + stripPrefix = strip_prefix, + sha256 = sha256, + ) def _local_sdk(ctx, path): for entry in ["src", "pkg", "bin"]: @@ -181,14 +205,14 @@ def _sdk_build_file(ctx, platform): def _detect_host_platform(ctx): if ctx.os.name == "linux": - host = "linux_amd64" + goos, goarch = "linux", "amd64" res = ctx.execute(["uname", "-p"]) if res.return_code == 0: uname = res.stdout.strip() if uname == "s390x": - host = "linux_s390x" + goarch = "s390x" elif uname == "i686": - host = "linux_386" + goarch = "386" # uname -p is not working on Aarch64 boards # or for ppc64le on some distros @@ -196,26 +220,26 @@ def _detect_host_platform(ctx): if res.return_code == 0: uname = res.stdout.strip() if uname == "aarch64": - host = "linux_arm64" + goarch = "arm64" elif uname == "armv6l": - host = "linux_arm" + goarch = "arm" elif uname == "armv7l": - host = "linux_arm" + goarch = "arm" elif uname == "ppc64le": - host = "linux_ppc64le" + goarch = "ppc64le" # Default to amd64 when uname doesn't return a known value. elif ctx.os.name == "mac os x": - host = "darwin_amd64" + goos, goarch = "darwin", "amd64" elif ctx.os.name.startswith("windows"): - host = "windows_amd64" + goos, goarch = "windows", "amd64" elif ctx.os.name == "freebsd": - host = "freebsd_amd64" + goos, goarch = "freebsd", "amd64" else: fail("Unsupported operating system: " + ctx.os.name) - return host + return goos, goarch def _detect_host_sdk(ctx): root = "@invalid@" @@ -238,8 +262,84 @@ def _detect_sdk_platform(ctx, goroot): return f fail("Could not detect SDK platform") -def go_register_toolchains(go_version = None, nogo = None): +def _parse_versions_json(data): + """Parses version metadata returned by golang.org. + + This is a really basic JSON parser. We can only do so much in Starlark + without recursion. We don't want to download a platform-specific binary + for this, and we can't rely on any particular scripting language being + installed. + + Args: + data: the contents of the file downloaded from + https://golang.org/dl/?mode=json. We assume the file is valid + JSON, is spaced and indented, and is in a particular format. + + Return: + A dict mapping version strings (like "1.15.5") to dicts mapping + platform names (like "linux_amd64") to pairs of filenames + (like "go1.15.5.linux-amd64.tar.gz") and hex-encoded SHA-256 sums. + """ + sdks_by_version = {} + + START_STATE = 0 + VERSION_STATE = 1 + FILE_STATE = 2 + state = START_STATE + + version = None + version_files = None + file_fields = None + + for i, line in enumerate(data.split("\n")): + line = line.strip() + if not line: + continue + if state == START_STATE: + if line == "{": + version_files = {} + state = VERSION_STATE + elif state == VERSION_STATE: + key, value = _parse_versions_json_field(line) + if key == "version": + version = value + elif line == "{": + state = FILE_STATE + file_fields = {} + elif line in ("}", "},"): + if version and version.startswith("go") and version_files: + sdks_by_version[version[len("go"):]] = version_files + version = None + version_files = None + state = START_STATE + elif state == FILE_STATE: + key, value = _parse_versions_json_field(line) + if key != "": + file_fields[key] = value + elif line in ("}", "},"): + if (all([f in file_fields for f in ("filename", "os", "arch", "sha256", "kind")]) and + file_fields["kind"] == "archive"): + goos_goarch = file_fields["os"] + "_" + file_fields["arch"] + version_files[goos_goarch] = (file_fields["filename"], file_fields["sha256"]) + file_fields = None + state = VERSION_STATE + + return sdks_by_version + +def _parse_versions_json_field(line): + """Parses a line like '"key": "value",' into a key and value pair.""" + if line.endswith(","): + line = line[:-1] + k, sep, v = line.partition('": "') + if not sep or not k.startswith('"') or not v.endswith('"'): + return "", "" + return k[1:], v[:-1] + +def go_register_toolchains(version = None, nogo = None, go_version = None): """See /go/toolchains.rst#go-register-toolchains for full documentation.""" + if not version: + version = go_version # old name + sdk_kinds = ("_go_download_sdk", "_go_host_sdk", "_go_local_sdk", "_go_wrap_sdk") existing_rules = native.existing_rules() sdk_rules = [r for r in existing_rules.values() if r["kind"] in sdk_kinds] @@ -247,19 +347,19 @@ def go_register_toolchains(go_version = None, nogo = None): # may be local_repository in bazel_tests. sdk_rules.append(existing_rules["go_sdk"]) - if go_version and len(sdk_rules) > 0: - fail("go_version set after go sdk rule declared ({})".format(", ".join([r["name"] for r in sdk_rules]))) + if version and len(sdk_rules) > 0: + fail("go_register_toolchains: version set after go sdk rule declared ({})".format(", ".join([r["name"] for r in sdk_rules]))) if len(sdk_rules) == 0: - if not go_version: - go_version = DEFAULT_VERSION - if go_version == "host": + if not version: + fail('go_register_toolchains: version must be set to a string like "1.15.5" or "host"') + elif version == "host": go_host_sdk(name = "go_sdk") else: - if not versions.is_at_least(MIN_SUPPORTED_VERSION, go_version): - print("DEPRECATED: go_register_toolchains: support for Go versions before {} will be removed soon".format(MIN_SUPPORTED_VERSION)) + if not versions.is_at_least(MIN_SUPPORTED_VERSION, version): + print("DEPRECATED: Go versions before {} are not supported and may not work".format(MIN_SUPPORTED_VERSION)) go_download_sdk( name = "go_sdk", - version = go_version, + version = version, ) if nogo: diff --git a/go/private/sdk_list.bzl b/go/private/sdk_list.bzl deleted file mode 100644 index e20055949c..0000000000 --- a/go/private/sdk_list.bzl +++ /dev/null @@ -1,475 +0,0 @@ -# Copyright 2019 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DEFAULT_VERSION = "1.15.5" - -MIN_SUPPORTED_VERSION = "1.13" - -SDK_REPOSITORIES = { - "1.15.5": { - "darwin_amd64": ("go1.15.5.darwin-amd64.tar.gz", "359a4334b8c8f5e3067e5a76f16419791ac3fef4613d8e8e1eac0b9719915f6d"), - "freebsd_386": ("go1.15.5.freebsd-386.tar.gz", "d4e6b4a4b22a00ab9048fea6b44ae8626345cbc6a83325872b357d8eb11baefb"), - "freebsd_amd64": ("go1.15.5.freebsd-amd64.tar.gz", "ae25e356167b8f38468205c01b88f8319fb07e6b127d05a3f7bb6af9ab1ca27b"), - "linux_386": ("go1.15.5.linux-386.tar.gz", "4c8179d406136979724c71732009c7e2e7c794dbeaaa2a043c00da34d4be0559"), - "linux_amd64": ("go1.15.5.linux-amd64.tar.gz", "9a58494e8da722c3aef248c9227b0e9c528c7318309827780f16220998180a0d"), - "linux_arm64": ("go1.15.5.linux-arm64.tar.gz", "a72a0b036beb4193a0214bca3fca4c5d68a38a4ccf098c909f7ce8bf08567c48"), - "linux_arm": ("go1.15.5.linux-armv6l.tar.gz", "5ea6456620d3efed5dda99238c7f23866eafdd915e5348736e631bc283c0238a"), - "linux_ppc64le": ("go1.15.5.linux-ppc64le.tar.gz", "86f209e66be80274e07c4fe46dc72b5b21dda1bf183d7b93d13b98cbf546ccb1"), - "linux_s390x": ("go1.15.5.linux-s390x.tar.gz", "c0b572c26bbfd7d9da09f4609dcdfb89d842db8e0bb2298bacc9de48b18d92ed"), - "windows_386": ("go1.15.5.windows-386.zip", "d812436c7e3482ba3c97172edf26afaf35aca60a5621ff4a5f6a08386505ab9c"), - "windows_amd64": ("go1.15.5.windows-amd64.zip", "1d24be3a200201a74be25e4134fbec467750e834e84e9c7789a9fc13248c5507"), - }, - "1.15.4": { - "darwin_amd64": ("go1.15.4.darwin-amd64.tar.gz", "aaf8c5323e0557211680960a8f51bedf98ab9a368775a687d6cf1f0079232b1d"), - "freebsd_386": ("go1.15.4.freebsd-386.tar.gz", "37874f0df879d72972c684006ff3826a9fa89400f01afcc89576e767d27781e2"), - "freebsd_amd64": ("go1.15.4.freebsd-amd64.tar.gz", "c1a9d20dc190ed40ec78d5e77337b1db187a9634e7c485505a8b9afbcc1e4738"), - "linux_386": ("go1.15.4.linux-386.tar.gz", "6b2f6d8afddfb198bf0e36044084dc4db4cb0be1107375240b34d215aa5ff6ad"), - "linux_amd64": ("go1.15.4.linux-amd64.tar.gz", "eb61005f0b932c93b424a3a4eaa67d72196c79129d9a3ea8578047683e2c80d5"), - "linux_arm64": ("go1.15.4.linux-arm64.tar.gz", "6f083b453484fc5f95afb345547a58ccc957cde91348b7a7c68f5b060e488c85"), - "linux_arm": ("go1.15.4.linux-armv6l.tar.gz", "fe449ad3e121472e5db2f70becc0fef9d1a7188616c0605ada63f1e3bbad280e"), - "linux_ppc64le": ("go1.15.4.linux-ppc64le.tar.gz", "d041ca820d47ccec9cd89abf34266aaedb0c74dc11f51accdc15a5a67679a990"), - "linux_s390x": ("go1.15.4.linux-s390x.tar.gz", "c580c201ae9632f00770fad3d648f479effe566f4ce69beb533c7fd2f98673c7"), - "windows_386": ("go1.15.4.windows-386.zip", "3be3cfc08ccc7e7056fdee17b6f5d18e9d7f3d1351dcfec8de34b1c95cb05b50"), - "windows_amd64": ("go1.15.4.windows-amd64.zip", "3593204e3851be577e4209900ece031b36f1e9ce1671f3f3221c9af7a090a941"), - }, - "1.15.3": { - "darwin_amd64": ("go1.15.3.darwin-amd64.tar.gz", "2e045043a28a2834e10edeb64c0cffd080a3525016fab1898d5624b57312a698"), - "freebsd_386": ("go1.15.3.freebsd-386.tar.gz", "c86545a72b879f26e4bf261ef0b09fdae47359ac92415cf028e66ca437d9ba41"), - "freebsd_amd64": ("go1.15.3.freebsd-amd64.tar.gz", "bd8b717679a58ac4ef069fbb03705b42d7816cd516b6805ba43ca26fa7e61712"), - "linux_386": ("go1.15.3.linux-386.tar.gz", "e2f4f9ccfebd38b112fe84572af44bb2fa230d605fcec84def9498095c1bd6ce"), - "linux_amd64": ("go1.15.3.linux-amd64.tar.gz", "010a88df924a81ec21b293b5da8f9b11c176d27c0ee3962dc1738d2352d3c02d"), - "linux_arm64": ("go1.15.3.linux-arm64.tar.gz", "b8b88a87ada918ef5189fa5938ef4c46a4f61952a34317612aaac705f4275f80"), - "linux_arm": ("go1.15.3.linux-armv6l.tar.gz", "aacb49968d08e222c83dea7307b4523c3ae498a5d2e91cd0e480ef3f198ffef6"), - "linux_ppc64le": ("go1.15.3.linux-ppc64le.tar.gz", "ea420501f9dc4bb1f0db37bb91a7d4e1bb7607bc1865c3ca51ed802477c169ad"), - "linux_s390x": ("go1.15.3.linux-s390x.tar.gz", "098b256bdee92857270a23a47b396e403be378d4cf8331611038518c921de46d"), - "windows_386": ("go1.15.3.windows-386.zip", "60b343d69ca2b0a947c750584cd194b25bd2c15eb08efb1fa29056f2af0c8780"), - "windows_amd64": ("go1.15.3.windows-amd64.zip", "1d579d0e980763f60bf43afb7c3783caf63433a485731ef4d2e262878d634b3f"), - }, - "1.15.2": { - "darwin_amd64": ("go1.15.2.darwin-amd64.tar.gz", "9bd39600d9fa1fa4a5ccce8761d249f7421cffe671376f791293c4138f3d7c62"), - "freebsd_386": ("go1.15.2.freebsd-386.tar.gz", "286beeb2d2c57707d9b3f3dcace0ff0f5b804dda8916daa4e712b9174fd270e4"), - "freebsd_amd64": ("go1.15.2.freebsd-amd64.tar.gz", "53a03ac989666be77e26d2720721021a3f29a22d93a1db86a4240369799043e0"), - "linux_386": ("go1.15.2.linux-386.tar.gz", "5a91080469df6b91f1022bdfb0ca75e01ca50387950b13518def3d0a7f6af9f1"), - "linux_amd64": ("go1.15.2.linux-amd64.tar.gz", "b49fda1ca29a1946d6bb2a5a6982cf07ccd2aba849289508ee0f9918f6bb4552"), - "linux_arm64": ("go1.15.2.linux-arm64.tar.gz", "c8ec460cc82d61604b048f9439c06bd591722efce5cd48f49e19b5f6226bd36d"), - "linux_arm": ("go1.15.2.linux-armv6l.tar.gz", "c12e2afdcb21e530d332d4994919f856dd2a676e9d67034c7d6fefcb241412d9"), - "linux_ppc64le": ("go1.15.2.linux-ppc64le.tar.gz", "85fc130046f41105b50a0647d1da395d615eac0aefca8776be148800c872c8db"), - "linux_s390x": ("go1.15.2.linux-s390x.tar.gz", "30f7856323965c6bf8886f8e5ae19d250cc73a10d382948fa78ecb3ace3980b9"), - "windows_386": ("go1.15.2.windows-386.zip", "f61e54e558e23bf2626a34e3ae2f8b73c2411a9ee29ceeb39ffb712695098138"), - "windows_amd64": ("go1.15.2.windows-amd64.zip", "e72782cc6de233188c75b06849368826eaa1b8bd9e1cd766db9466a12b7138ca"), - }, - "1.15.1": { - "darwin_amd64": ("go1.15.1.darwin-amd64.tar.gz", "b33341df847b4a48da40d957437c87642d221dde28c6f810b1ce26b74be2f661"), - "freebsd_386": ("go1.15.1.freebsd-386.tar.gz", "042b5f2a9eabac75f9dbd0f385e11b418fdec5fbd15b920cba5e7055d196b32b"), - "freebsd_amd64": ("go1.15.1.freebsd-amd64.tar.gz", "8e8b6aa8be70c9d03d0fcaddf5cc8b48f869ed34d275abb2604093087b3481b5"), - "linux_386": ("go1.15.1.linux-386.tar.gz", "7e0c8e9749be69c28d3333a81ce8386916ba1306b40476a43f7794dc309eaf4c"), - "linux_amd64": ("go1.15.1.linux-amd64.tar.gz", "70ac0dbf60a8ee9236f337ed0daa7a4c3b98f6186d4497826f68e97c0c0413f6"), - "linux_arm64": ("go1.15.1.linux-arm64.tar.gz", "ca21c771d906fbba8840b3a4831b1aa118f6e09b5d028323592faba382787a03"), - "linux_arm": ("go1.15.1.linux-armv6l.tar.gz", "62db2fac55309f4bc1f73577165dcb331a4c649e39bdbe04943579e0b2b0c06e"), - "linux_ppc64le": ("go1.15.1.linux-ppc64le.tar.gz", "50bdca87edc30bdc12956dab765c1b85249373a156a7a00eb998cdc70790fb94"), - "linux_s390x": ("go1.15.1.linux-s390x.tar.gz", "2c3823790fc5508bd53bb104e6cc0052d1892855546a0eae0ea7809c84160543"), - "windows_386": ("go1.15.1.windows-386.zip", "ec4f245391fab368281713f1224ca1af761822f2e7c2a418dfbb11b2c0d1ea3f"), - "windows_amd64": ("go1.15.1.windows-amd64.zip", "8e3e1e35e03af28d974ad872883884a4c544f6bdb2e2edb1126d6b528d017696"), - }, - "1.15": { - "darwin_amd64": ("go1.15.darwin-amd64.tar.gz", "8a5fb9c8587854a84957a79b9616070b63d8842d4001c3c7d86f261cd7b5ffb6"), - "freebsd_386": ("go1.15.freebsd-386.tar.gz", "b4591dec28b4eaf170885c6e4063970db5a4faf8bba20de6e22f1e25478ad5a9"), - "freebsd_amd64": ("go1.15.freebsd-amd64.tar.gz", "5f607802e77bf14d148c3defe11b56a3e9447c2246ed96adceb8eb4bb4c1a3d6"), - "linux_386": ("go1.15.linux-386.tar.gz", "68ce979083126694ceef60233f69efe870f54af24d81a120f76265107a9e9aab"), - "linux_amd64": ("go1.15.linux-amd64.tar.gz", "2d75848ac606061efe52a8068d0e647b35ce487a15bb52272c427df485193602"), - "linux_arm64": ("go1.15.linux-arm64.tar.gz", "7e18d92f61ddf480a4f9a57db09389ae7b9dadf68470d0cb9c00d734a0c57f8d"), - "linux_arm": ("go1.15.linux-armv6l.tar.gz", "6d8914ddd25f85f2377c269ccfb359acf53adf71a42cdbf53434a7c76fa7a9bd"), - "linux_ppc64le": ("go1.15.linux-ppc64le.tar.gz", "4603736a158b3d8ac52b9245f39bf715936c801e05bb5ad7c44b1edd6d5ef6a2"), - "linux_s390x": ("go1.15.linux-s390x.tar.gz", "8825f93caaf87465e32f298408c48b98d4180f3ddb885bd027f2926e711d23e8"), - "windows_386": ("go1.15.windows-386.zip", "e0c747610a73030cadba6f6ac319bca33cfff19b1f58c010727ea55fb2b0cab1"), - "windows_amd64": ("go1.15.windows-amd64.zip", "dc491314dff5b87ad50bf1cf56715de8f8c54489be30f3e19239bc2ad1af25e3"), - }, - "1.14.12": { - "darwin_amd64": ("go1.14.12.darwin-amd64.tar.gz", "94dead73e89697612461fc657bea7a2da31f669e540aab09436691ec4a53e8b4"), - "freebsd_386": ("go1.14.12.freebsd-386.tar.gz", "18873c97481cc9d38cfd44c8fada54908dbc5844dd53ab03635bb8bfb73569ec"), - "freebsd_amd64": ("go1.14.12.freebsd-amd64.tar.gz", "7fbfc2a4018f6dbbe4f202b0c669f19bf625d075d466cb48f0fc582b8155228d"), - "linux_386": ("go1.14.12.linux-386.tar.gz", "80d1aa5c2a22cf57da97c71bbb3ee96f2600f15212f0fe8d6e07c7fc2744cf82"), - "linux_amd64": ("go1.14.12.linux-amd64.tar.gz", "fb26f951c88c0685d7df393611189c58e6eabd3c17bdaef37df11355ab8db9d3"), - "linux_arm64": ("go1.14.12.linux-arm64.tar.gz", "833c762bf205ae5caaca246d5c2205ae919bad7484f7c38db72941937e28fa24"), - "linux_arm": ("go1.14.12.linux-armv6l.tar.gz", "548d0d93884d4c30684125a19ea169acf6195cf0fe467efb325adb595fffeacf"), - "linux_ppc64le": ("go1.14.12.linux-ppc64le.tar.gz", "7c51a32851ae8331e1bc9ebc439a71f430053bd3c8e739a72df4354a377982e8"), - "linux_s390x": ("go1.14.12.linux-s390x.tar.gz", "e0d3cd0112edcd820d4860c2b95d7b32ef8900ca7f7207f15cc7675de7efe7cf"), - "windows_386": ("go1.14.12.windows-386.zip", "9d8ee8d0d4bc8334830cf5413f4532e4852ab86563ff06e49df120cb80eb4b9c"), - "windows_amd64": ("go1.14.12.windows-amd64.zip", "46879d5bdf9c8f74101cce040b61067d31cb37a5e5e11a4189f00d3e06d0784d"), - }, - "1.14.11": { - "darwin_amd64": ("go1.14.11.darwin-amd64.tar.gz", "bf50244fbafb16bf599e73a07e6f407cde5508527ef39c25007b46e18e89ff27"), - "freebsd_386": ("go1.14.11.freebsd-386.tar.gz", "ac6d49919bf0f7ae42cfd3a40be203f645d39352bab2fac6168565da26fd3a71"), - "freebsd_amd64": ("go1.14.11.freebsd-amd64.tar.gz", "7ac69f2a667d0ec5c2ef9cabfb003cb1d2aea99011fdea3190fbfb55df092395"), - "linux_386": ("go1.14.11.linux-386.tar.gz", "3789de3f29cccb31004885f72065e947a5020cdc33ecd94db0b5f20d319c49f0"), - "linux_amd64": ("go1.14.11.linux-amd64.tar.gz", "ef150041e1af0890ecdd98ebdd6c759096884052a584c09ce50b2b5bb9bab2cd"), - "linux_arm64": ("go1.14.11.linux-arm64.tar.gz", "6a2dc3c8d41683cf5dbb695d58556ec187fea7ae1afd913e25fc0750ab9c162c"), - "linux_arm": ("go1.14.11.linux-armv6l.tar.gz", "14ecce9dc6d9225d5686ff6c517c27d1d9189d7967b78a596d5f4325516fd093"), - "linux_ppc64le": ("go1.14.11.linux-ppc64le.tar.gz", "e9c5edcbba0b7cb46ef4a00891ceb1f64f84d0849071638027194a52943a7c95"), - "linux_s390x": ("go1.14.11.linux-s390x.tar.gz", "e5eb70a16d19ee9d25420d1eafd1e4710bc6197c162a95a32217e49e1bd6055c"), - "windows_386": ("go1.14.11.windows-386.zip", "5d5fb9479ffc135da443a86da88d2c13fd89d9a54366b898b68401029a718318"), - "windows_amd64": ("go1.14.11.windows-amd64.zip", "5f58d41f6f22ce13081cc6118b238a2e540dc6168b3b7e26d786f2ec41a65872"), - }, - "1.14.10": { - "darwin_amd64": ("go1.14.10.darwin-amd64.tar.gz", "7d6b6a3b3c7b193f71a73bf3cecb3a234017db91056ecb605041c074d545dc61"), - "freebsd_386": ("go1.14.10.freebsd-386.tar.gz", "57c3bd2674f43d1d292b56ac0c684691b248caeba8c207943761ff10af346b96"), - "freebsd_amd64": ("go1.14.10.freebsd-amd64.tar.gz", "1c05493ac5886bc18edf17cb54a3be7627792c813fa6a2e132036b5911c9f3d7"), - "linux_386": ("go1.14.10.linux-386.tar.gz", "0e8e955cc80d2d7046312d16d800be82aa8ce9c5165b936348851923a75b4484"), - "linux_amd64": ("go1.14.10.linux-amd64.tar.gz", "66eb6858f375731ba07b0b33f5c813b141a81253e7e74071eec3ae85e9b37098"), - "linux_arm64": ("go1.14.10.linux-arm64.tar.gz", "30700f7a9df3148df81013bd38715acd09ca5203b8e0aafa8b985306d5e9882e"), - "linux_arm": ("go1.14.10.linux-armv6l.tar.gz", "b601dbb186d786488470d73d4637c2144896bf6f499a4122bdd30f4e8dd79e70"), - "linux_ppc64le": ("go1.14.10.linux-ppc64le.tar.gz", "ed5f7ab928ad8414598626740feac5918f7a915da943f21b41a81ad5c1dfa940"), - "linux_s390x": ("go1.14.10.linux-s390x.tar.gz", "0bd8b4ad9f4c5a766013cff898770cc1af63910ab680799c78b264d934cf8aab"), - "windows_386": ("go1.14.10.windows-386.zip", "f33be5f0d98d28ca8764030bf0921c96410d195174e1b37725c73c2373fbedaf"), - "windows_amd64": ("go1.14.10.windows-amd64.zip", "ca216afc0906f113d1c5b3498bb0015204e7ce2fd14091f5a99aae82bfb16af3"), - }, - "1.14.9": { - "darwin_amd64": ("go1.14.9.darwin-amd64.tar.gz", "957926fd883998f3e212ccd422d4282be957204f89eefcf13ee2fdb730e1bab7"), - "freebsd_386": ("go1.14.9.freebsd-386.tar.gz", "11b00fecbfaf34074194b095995c71a24205bbc1e8e23fd8c624bb34e55b655c"), - "freebsd_amd64": ("go1.14.9.freebsd-amd64.tar.gz", "4dae9ca431d3c9da9834c59041a1e63eec8ad9c7f75d50e6636f92cb064a3784"), - "linux_386": ("go1.14.9.linux-386.tar.gz", "14982ef997ec323023a11cffe1a4afc3aacd1b5edebf70a00e17b67f888d8cdb"), - "linux_amd64": ("go1.14.9.linux-amd64.tar.gz", "f0d26ff572c72c9823ae752d3c81819a81a60c753201f51f89637482531c110a"), - "linux_arm64": ("go1.14.9.linux-arm64.tar.gz", "65e6cef5c474a3514e754f6a7987c49388bb85a7b370370c1318087ac35427fa"), - "linux_arm": ("go1.14.9.linux-armv6l.tar.gz", "e85dc09608dc9fc245ebc5daea0826898ac0eb0d48ed24e2300427850876c442"), - "linux_ppc64le": ("go1.14.9.linux-ppc64le.tar.gz", "5880a37faf93b2396edc3ff231e0f8df14d0520505cc13d01116e24d7d1d0147"), - "linux_s390x": ("go1.14.9.linux-s390x.tar.gz", "381fc24aff153c4affcb00f4547683212157af29b8f9e3de5952d78ac35f5a0f"), - "windows_386": ("go1.14.9.windows-386.zip", "2d2abfe9b00f490678542691b18b5666d87289888df4f1b712ffd47a2f8e69ca"), - "windows_amd64": ("go1.14.9.windows-amd64.zip", "16bb44448c4423740c5fd751bad28061d5ec44cd08272d4e1efdd16cdf8221e9"), - }, - "1.14.8": { - "darwin_amd64": ("go1.14.8.darwin-amd64.tar.gz", "6fbfdca4e876477f1cb54df09b310e95f335e1d49556fe5c75bca02159b94c63"), - "freebsd_386": ("go1.14.8.freebsd-386.tar.gz", "e610d966f639344e4b7415ea1a38aa088ae7cf9532d16ed2e8f1e887f4b28b98"), - "freebsd_amd64": ("go1.14.8.freebsd-amd64.tar.gz", "ca930a532fbfd86acc2b04007060dea74653bef9fd37aaf070bed0a265fbf12b"), - "linux_386": ("go1.14.8.linux-386.tar.gz", "8176ebc3a61caba3d7955cf28461268c987fea1fc11611e7031fcdf8e112a62d"), - "linux_amd64": ("go1.14.8.linux-amd64.tar.gz", "5504e077a29d0bd6649ca7b66e317f1a4b264e960f74115d6f0f405c49a8e738"), - "linux_arm64": ("go1.14.8.linux-arm64.tar.gz", "52219e5508cbd8c93070d85f5ac8f1049eac5e89399666c46aa9edd9b1112725"), - "linux_arm": ("go1.14.8.linux-armv6l.tar.gz", "5d0c7a1cf79b044ad14414676c945a0e2ed61ae8167142d4e493118a66fafcb5"), - "linux_ppc64le": ("go1.14.8.linux-ppc64le.tar.gz", "4a5ad85db2039d8b6fa6c27aa3ccc8522b0116780fbaf3c6804e579b33edf098"), - "linux_s390x": ("go1.14.8.linux-s390x.tar.gz", "e31d92496ac01af2c6f31023123430f0d143c4a05cc680cc91b446c5a4e4a664"), - "windows_386": ("go1.14.8.windows-386.zip", "881a827f1bc066aafc32530bf6ae10fd30b8dd942a03519c5563887e10e88d95"), - "windows_amd64": ("go1.14.8.windows-amd64.zip", "f0fb99ef42f4b5cc021e48c442eb4c71b2ee7790ed1c3c7a2c5315248536fe98"), - }, - "1.14.7": { - "darwin_amd64": ("go1.14.7.darwin-amd64.tar.gz", "9a71abeb3de60ed33c0f90368be814d140bc868963e90fbb98ea665335ffbf9a"), - "freebsd_386": ("go1.14.7.freebsd-386.tar.gz", "a834a20cc925fb8c1d00a7ac4b704a238902a5d23d29b3cc064d056f2eef3234"), - "freebsd_amd64": ("go1.14.7.freebsd-amd64.tar.gz", "8a0c69f67c85a8ec457ecb9f6dbc0ff2650b0490e84caf78c66ea6ce87bd527a"), - "linux_386": ("go1.14.7.linux-386.tar.gz", "2f5793f10bb6b08eedecd376aa3d594e10193c6b5cf198ada46200259ff76547"), - "linux_amd64": ("go1.14.7.linux-amd64.tar.gz", "4a7fa60f323ee1416a4b1425aefc37ea359e9d64df19c326a58953a97ad41ea5"), - "linux_arm64": ("go1.14.7.linux-arm64.tar.gz", "fe5b6f6e441f3cb7b53ebf1a010bbebcb720ac98124984cfe2e51d72b8a58c71"), - "linux_arm": ("go1.14.7.linux-armv6l.tar.gz", "6079eb82bcf24b33dda0e32777c7fdddcc3b1ec70e374308cc8311562449b107"), - "linux_ppc64le": ("go1.14.7.linux-ppc64le.tar.gz", "bd1f12a2271a6d1689bcf3ec01d123c81cbaca5d16c3f7df294a2d725ac4d3d1"), - "linux_s390x": ("go1.14.7.linux-s390x.tar.gz", "ea570b3caa0c271da440f568ab646cfea80d712c51fb4d08189bb66bd5eb949c"), - "windows_386": ("go1.14.7.windows-386.zip", "73f929d7b99b141ea7d71f23ea269d74c68cce7e5fa68e41ada820f242e093a5"), - "windows_amd64": ("go1.14.7.windows-amd64.zip", "ddf35c01f444f5698dee7b265c172abe29dd7138bef4415e6b60bf322ddcffa5"), - }, - "1.14.6": { - "darwin_amd64": ("go1.14.6.darwin-amd64.tar.gz", "4832c7b6b9a2a225c557d5e8d66928230a5a8405e705ace53f6ed0ee79ddb3c4"), - "freebsd_386": ("go1.14.6.freebsd-386.tar.gz", "9052feba69e2b3eec11696bef2fd226aa48f98185baae5b02160111ab72e1ff0"), - "freebsd_amd64": ("go1.14.6.freebsd-amd64.tar.gz", "4307d83dcef4af173f35fed9a91fc7daf0443cc8dc98fa60023b4f5234ed383d"), - "linux_386": ("go1.14.6.linux-386.tar.gz", "17b2c4e26bd3a82a0a44499ae2d36e3f2155d0fe2f6b9a14ac6b7c5afac3ca6a"), - "linux_amd64": ("go1.14.6.linux-amd64.tar.gz", "5c566ddc2e0bcfc25c26a5dc44a440fcc0177f7350c1f01952b34d5989a0d287"), - "linux_arm64": ("go1.14.6.linux-arm64.tar.gz", "291bccfd7d7f1915599bbcc90e49d9fccfcb0004b7c62a2f5cdf0f96a09d6a3e"), - "linux_arm": ("go1.14.6.linux-armv6l.tar.gz", "cab39cc0fdf9731476a339af9d7bcd8fc661bfa323abb1ce9d1633fb31daeb07"), - "linux_ppc64le": ("go1.14.6.linux-ppc64le.tar.gz", "8eb4c84e7b6aa9edb966c467dd6764d131a57d27afbd87cc8f6d10535df9e898"), - "linux_s390x": ("go1.14.6.linux-s390x.tar.gz", "cb1f2d001ce15e51f7c4bd43f15045ea23d49268010bb981110242a532138749"), - "windows_386": ("go1.14.6.windows-386.zip", "d9463747f3d3671c91efdccfc96082793661da480c03907699b807a47850e0f5"), - "windows_amd64": ("go1.14.6.windows-amd64.zip", "4495c18579cd11192fc3483d535e567d71c1a5c5b42cec152ad519a3599c3bbb"), - }, - "1.14.5": { - "darwin_amd64": ("go1.14.5.darwin-amd64.tar.gz", "1d01212ac86340e6680cb36e354339920e7c6e99b4e09a9d1377a2cd2ca5f760"), - "freebsd_386": ("go1.14.5.freebsd-386.tar.gz", "ac0d175ab0208c7aae2742c1f1d49bc969e4db0fb02b5ea43449a96af9859718"), - "freebsd_amd64": ("go1.14.5.freebsd-amd64.tar.gz", "38556ad4056253ee8074eb8bb4f62ad84513ee6747573b7617ae83e848d9d733"), - "linux_386": ("go1.14.5.linux-386.tar.gz", "a2f8e961b2eb4b477f0e938e9e6f08d1aac6d677c6d934ac1e532d5c9314bf3e"), - "linux_amd64": ("go1.14.5.linux-amd64.tar.gz", "82a1b84f16858db03231eb201f90cce2a991078dda543879b87e738e2586854b"), - "linux_arm64": ("go1.14.5.linux-arm64.tar.gz", "27a3b3ca4fd60c8680cd2235d5ca38cad41ee8c41bd61891d39a8501ada5f677"), - "linux_arm": ("go1.14.5.linux-armv6l.tar.gz", "fc99d9cea2f2699d338f7e0ceb40d89c02019eec2b6500011a8743104274a46c"), - "linux_ppc64le": ("go1.14.5.linux-ppc64le.tar.gz", "581b858092e2a471c06e484f62206d3cde72f89e1cbde6284cfa09f824457b24"), - "linux_s390x": ("go1.14.5.linux-s390x.tar.gz", "3ef0d07ecfcfe0a4bdf1cd68e769887a3a4d3279f5edc84ea08cc2c9a6ef1d1b"), - "windows_386": ("go1.14.5.windows-386.zip", "433802265253d58d00aecf4b22eb321fb7fb898d8bf6c35aee48f8d21ad3a63a"), - "windows_amd64": ("go1.14.5.windows-amd64.zip", "49a638b875409c5aae1a0fdd7c9232b50419d0f85224eb864738542ab99270cb"), - }, - "1.14.4": { - "darwin_amd64": ("go1.14.4.darwin-amd64.tar.gz", "3fa7ed8dc44fdd50c0bfe72676250cceca527d59950aef20af906a670cf88de2"), - "freebsd_386": ("go1.14.4.freebsd-386.tar.gz", "3fa0ab73cddf4117010285a00df5c7c0b0c8617a3b8aa4e3876197e433986897"), - "freebsd_amd64": ("go1.14.4.freebsd-amd64.tar.gz", "73da292c1b5980f5e3d6506d6d9ef65a67533936f8e0cb775d726fe3a715e519"), - "linux_386": ("go1.14.4.linux-386.tar.gz", "4179f406ea0efd455a8071eaaaf1dea92cac5c17aab89fbad18ea2a37623c810"), - "linux_amd64": ("go1.14.4.linux-amd64.tar.gz", "aed845e4185a0b2a3c3d5e1d0a35491702c55889192bb9c30e67a3de6849c067"), - "linux_arm64": ("go1.14.4.linux-arm64.tar.gz", "05dc46ada4e23a1f58e72349f7c366aae2e9c7a7f1e7653095538bc5bba5e077"), - "linux_arm": ("go1.14.4.linux-armv6l.tar.gz", "e20211425b3f797ca6cd5e9a99ab6d5eaf1b009d08d19fc8a7835544fa58c703"), - "linux_ppc64le": ("go1.14.4.linux-ppc64le.tar.gz", "b335f85bc935ca3f553ad1bac37da311aaec887ffd8a48cb58a0abb0d8adf324"), - "linux_s390x": ("go1.14.4.linux-s390x.tar.gz", "17f2ae0bae968b3d909daabc5cc4a37471ddb70ec49076b78702291e6772d71a"), - "windows_386": ("go1.14.4.windows-386.zip", "555d7e9919ca58d5c64b2377ca09095eeba3a5d19766f2581ff02e9eb004f6fc"), - "windows_amd64": ("go1.14.4.windows-amd64.zip", "e04f591219b18e7cabe73eb79c90405b5c7a5baee61377670d7a48429c5c978d"), - }, - "1.14.3": { - "darwin_amd64": ("go1.14.3.darwin-amd64.tar.gz", "a8b43d9f65c2768ac2e377793383630a9be2c8c71b643c9a9520855a0d2af41c"), - "freebsd_386": ("go1.14.3.freebsd-386.tar.gz", "7c5adb1a481d899b782d633541affe17f0d5ebdd97e32bfc01f274603555e14d"), - "freebsd_amd64": ("go1.14.3.freebsd-amd64.tar.gz", "86da72a7da23c10af39fcc191ab15ad42e77c13ea7bd41c7ea3460f1f502bbe6"), - "linux_386": ("go1.14.3.linux-386.tar.gz", "46f8c744788103e8aeceb12c7d71eb16a58fe43e7e4711055fa9ef4bae50bff7"), - "linux_amd64": ("go1.14.3.linux-amd64.tar.gz", "1c39eac4ae95781b066c144c58e45d6859652247f7515f0d2cba7be7d57d2226"), - "linux_arm64": ("go1.14.3.linux-arm64.tar.gz", "a7a593e2ee079d83a1943edcd1c9ed2dae7529666fce04de8c142fb61c7cdd3e"), - "linux_arm": ("go1.14.3.linux-armv6l.tar.gz", "b1c3a648c3c8877b98dfba1996dec604c8fb8899db07994b2dfd47b0063367c8"), - "linux_ppc64le": ("go1.14.3.linux-ppc64le.tar.gz", "329359e2b72839696e78b6c0a96fd939e28e7435d852f31107f68037dd5f7442"), - "linux_s390x": ("go1.14.3.linux-s390x.tar.gz", "1aad312fc7fa85d663e8226237cc7519b2599b88a213098abc10de8e84d6cfab"), - "windows_386": ("go1.14.3.windows-386.zip", "b0007593f4e293980d968acc97162692e04cec12b07b5a4928dba64462574abd"), - "windows_amd64": ("go1.14.3.windows-amd64.zip", "6811c14341fa0e5ebe05b28a4a8086e51a25ee54bc860f83183e1c478e3b1b60"), - }, - "1.14.2": { - "darwin_amd64": ("go1.14.2.darwin-amd64.tar.gz", "e0db81f890bb253552b3fd783fccbc2cdda02552295cb305e75984eef1c1e2b9"), - "freebsd_386": ("go1.14.2.freebsd-386.tar.gz", "7b8eccc27bf0a6a57999c1d30447ab61be19509a244ac3617bc4d1797eecb555"), - "freebsd_amd64": ("go1.14.2.freebsd-amd64.tar.gz", "b9a26f5e2443898b54d7778d6861df70e8342d33a74bd7e02cf1105c4144ec05"), - "linux_386": ("go1.14.2.linux-386.tar.gz", "cab5f51e6ffb616c6ee963c3d0650ca4e3c4108307c44f2baf233fcb8ff098f6"), - "linux_amd64": ("go1.14.2.linux-amd64.tar.gz", "6272d6e940ecb71ea5636ddb5fab3933e087c1356173c61f4a803895e947ebb3"), - "linux_arm64": ("go1.14.2.linux-arm64.tar.gz", "bb6d22fe5806352c3d0826676654e09b6e41eb1af52e8d506d3fa85adf7f8d88"), - "linux_arm": ("go1.14.2.linux-armv6l.tar.gz", "eb4550ba741506c2a4057ea4d3a5ad7ed5a887de67c7232f1e4795464361c83c"), - "linux_ppc64le": ("go1.14.2.linux-ppc64le.tar.gz", "48c22268c81ced9084a43bbe2c1596d3e636b5560b30a32434a7f15e561de160"), - "linux_s390x": ("go1.14.2.linux-s390x.tar.gz", "501cc919648c9d85b901963303c5061ea6814c80f0d35fda9e62980d3ff58cf4"), - "windows_386": ("go1.14.2.windows-386.zip", "76beccad98b6d3f8de935e5c9dbd69934cca1baa45b880965cdcf2779df56524"), - "windows_amd64": ("go1.14.2.windows-amd64.zip", "1b5a60b3bbaa81106d5ee03499b5734ec093c6a255abf9a6a067f0f497a57916"), - }, - "1.14.1": { - "darwin_amd64": ("go1.14.1.darwin-amd64.tar.gz", "6632f9d53fd95632e431e8c34295349cca3f0a124e3a28b760ae5c42b32816e3"), - "freebsd_386": ("go1.14.1.freebsd-386.tar.gz", "1c52e3b72d1802a516709f7908007987c3ec902d847708539eb1acfee810ec7a"), - "freebsd_amd64": ("go1.14.1.freebsd-amd64.tar.gz", "7d840ba12c6aade31b0e24c59a824a35a40a48686087e6423fa526f048328246"), - "linux_386": ("go1.14.1.linux-386.tar.gz", "92d465accdebbe2d0749b2f90c22ecb1fd2492435144923f88ce410cd56b6546"), - "linux_amd64": ("go1.14.1.linux-amd64.tar.gz", "2f49eb17ce8b48c680cdb166ffd7389702c0dec6effa090c324804a5cac8a7f8"), - "linux_arm64": ("go1.14.1.linux-arm64.tar.gz", "5d8f2c202f35481617e24e63cca30c6afb1ec2585006c4a6ecf16c5f4928ab3c"), - "linux_arm": ("go1.14.1.linux-armv6l.tar.gz", "04f10e345dae0d7c6c32ffd6356b47f2d4d0e8a0cb757f4ef48ead6c5bef206f"), - "linux_ppc64le": ("go1.14.1.linux-ppc64le.tar.gz", "6559201d452ee2782dfd684d59c05e3ecf789dc40a7ec0ad9ae2dd9f489c0fe1"), - "linux_s390x": ("go1.14.1.linux-s390x.tar.gz", "af009bd6e7729c441fec78af427743fefbf11f919c562e01b37836d835f74226"), - "windows_386": ("go1.14.1.windows-386.zip", "66a6dcf28298ce2c3311487af0822adfec789e07bebc3b5cc6a75be9fadaef24"), - "windows_amd64": ("go1.14.1.windows-amd64.zip", "4bcc3bbdeba4b298120b4ea78e22b8c0fe93478b47dd7b84d70d97d2b264a0a6"), - }, - "1.14": { - "darwin_amd64": ("go1.14.darwin-amd64.tar.gz", "2472dcd681b761501fadb35ec361503efd27de2ba2270b2fe35cb6ece7362243"), - "freebsd_386": ("go1.14.freebsd-386.tar.gz", "9717901860aab759ff1e555b0e62d58669939f7b2a86fc45d4015db29c92614d"), - "freebsd_amd64": ("go1.14.freebsd-amd64.tar.gz", "d86041687515ac3729807cdaa6787a1a10ee4cfdefd427043dcdb20544096fa1"), - "linux_386": ("go1.14.linux-386.tar.gz", "cdcdab6c8d1f2dcea3bbec793352ef84db167a2eb6c60ff69e5cf94dca575f9a"), - "linux_amd64": ("go1.14.linux-amd64.tar.gz", "08df79b46b0adf498ea9f320a0f23d6ec59e9003660b4c9c1ce8e5e2c6f823ca"), - "linux_arm64": ("go1.14.linux-arm64.tar.gz", "cd813387f770c07819912f8ff4b9796a4e317dee92548b7226a19e60ac79eb27"), - "linux_arm": ("go1.14.linux-armv6l.tar.gz", "b5e682176d7ad3944404619a39b585453a740a2f82683e789f4279ec285b7ecd"), - "linux_ppc64le": ("go1.14.linux-ppc64le.tar.gz", "b896b5eba616d27fd3bb8218de6bef557cb62221e42f73c84ae4b89cdb602dec"), - "linux_s390x": ("go1.14.linux-s390x.tar.gz", "22e67470fe872c893face196f02323a11ffe89999260c136b9c50f06619e0243"), - "windows_386": ("go1.14.windows-386.zip", "adb634bedc4143b67c50b2e60f36a2cbcad6ab05ec41a972e2115701584170a2"), - "windows_amd64": ("go1.14.windows-amd64.zip", "cc2f1e8d19744fe0b2e979bf9a4f9d224e416f4f54cb6cf3aa8b5e9c0865de37"), - }, - "1.13.15": { - "darwin_amd64": ("go1.13.15.darwin-amd64.tar.gz", "63180e32e9b7bfcd0c1c056e7c215299f662a1098a30316599c7b3e2e2fa28e7"), - "freebsd_386": ("go1.13.15.freebsd-386.tar.gz", "335a4ce5eb8569afcc42aafb6b43677bd8a49f8861eac8c64e2ba0f0638c764f"), - "freebsd_amd64": ("go1.13.15.freebsd-amd64.tar.gz", "021d3390a2b1b9cf172fce543265917f2cd724a6eba7be980ca65d8a2d9c81ff"), - "linux_386": ("go1.13.15.linux-386.tar.gz", "1a63e97b6f1a673966d6a4f4f7f9c724fdd68bdeac11425bf8a39c7a24ddc0a7"), - "linux_amd64": ("go1.13.15.linux-amd64.tar.gz", "01cc3ddf6273900eba3e2bf311238828b7168b822bb57a9ccab4d7aa2acd6028"), - "linux_arm64": ("go1.13.15.linux-arm64.tar.gz", "a5c59e3f0aeaf6e939790152a8bfabb91d70c9787afb7aee06aef9bd4411c551"), - "linux_arm": ("go1.13.15.linux-armv6l.tar.gz", "c58eacae1745769e77328aec08e0e3b4da1b4e99e1153046b1b00ae0b3338d42"), - "linux_ppc64le": ("go1.13.15.linux-ppc64le.tar.gz", "bee55510a87bd366381df0be4736fd5cc89523228f9ca20eb1687f59e80ca029"), - "linux_s390x": ("go1.13.15.linux-s390x.tar.gz", "6c370800d470ae116a9521f5439b3fa6271f06a6d4c2a18913c8c6226d78fe4b"), - "windows_386": ("go1.13.15.windows-386.zip", "a0a3ab0f0905639a7a4aaaa8d04462aad6ee7a1add98cc6ffa1a8004cf0d2b4e"), - "windows_amd64": ("go1.13.15.windows-amd64.zip", "26c031d5dc2b39578943dbd34fe5c464ac4ed1c82f8de59f12999d3bf9f83ea1"), - }, - "1.13.14": { - "darwin_amd64": ("go1.13.14.darwin-amd64.tar.gz", "ea2a5d34d587e8d99925b365323eccb9895c4eec0264f1f81f989e98d5d041dd"), - "freebsd_386": ("go1.13.14.freebsd-386.tar.gz", "9b3eec9979e2446c1e6e1d905ca68de6742d6ff33d7a38ab8a14cc48d7d944ce"), - "freebsd_amd64": ("go1.13.14.freebsd-amd64.tar.gz", "82385ecb116ffb5946a7469a942b82b2a084e296fbf384c1f99461dd39cda11b"), - "linux_386": ("go1.13.14.linux-386.tar.gz", "537bb1769827852673ab96ce5f7676c162bba3d5394e6828733b53b4c9449c11"), - "linux_amd64": ("go1.13.14.linux-amd64.tar.gz", "32617db984b18308f2b00279c763bff060d2739229cb8037217a49c9e691b46a"), - "linux_arm64": ("go1.13.14.linux-arm64.tar.gz", "ee5f84e3bc0548e4963344a887f684458bec1e5a822d0d413d1c6925b784a16e"), - "linux_arm": ("go1.13.14.linux-armv6l.tar.gz", "1a238daa3cd00611145d66a5577ea57bf90266443d1a2bef076ca74302a02c48"), - "linux_ppc64le": ("go1.13.14.linux-ppc64le.tar.gz", "c91a424a4738993d2e77bb0f134ad6c5af1aa5b785f5a3a8a642d50a36de7471"), - "linux_s390x": ("go1.13.14.linux-s390x.tar.gz", "8c4cf33742a1374644cbade2db39bbeebf50bb044b2409c48bdf0526f96fcce5"), - "windows_386": ("go1.13.14.windows-386.zip", "bbd385cdfa7e029e0ba686be6ff10a09caeea48ff3a3a8d04ae42ca60f3f2cdf"), - "windows_amd64": ("go1.13.14.windows-amd64.zip", "5822f61016ace183bc5f90b58223fa76a5a998b38240846186934954a2e555eb"), - }, - "1.13.13": { - "darwin_amd64": ("go1.13.13.darwin-amd64.tar.gz", "9cb2c3b67daaf8cf3c3f4006e0f8d354c3d6ebe263349c277b3f714267b24288"), - "freebsd_386": ("go1.13.13.freebsd-386.tar.gz", "ca39ea0304f5087254b0bc40a5cf6fbc2a267cb5c20a8bdec608e804439bc552"), - "freebsd_amd64": ("go1.13.13.freebsd-amd64.tar.gz", "db0cfac2a8c1f00808d801b83b7025f6715040d7d974ea4a0b9e98efa891677c"), - "linux_386": ("go1.13.13.linux-386.tar.gz", "efcadf5d927558429ce1156e12943639e0f33d4b5b75919683ec2529ffb8c3e1"), - "linux_amd64": ("go1.13.13.linux-amd64.tar.gz", "0b8573c2335bebef53e819ab8d323456dc2b94838bebdbd8cc6623bb8a6d77b7"), - "linux_arm64": ("go1.13.13.linux-arm64.tar.gz", "999fcd9090b164062e166523086a54f4152549c41f627ff5ccad3c3ec2da0657"), - "linux_arm": ("go1.13.13.linux-armv6l.tar.gz", "621081207d4d8549d33e2bc0623e50195152f40f3132327efecaa372f080af55"), - "linux_ppc64le": ("go1.13.13.linux-ppc64le.tar.gz", "f816b5ac28322af6692fb61d6e12b11697c4927eec42226ebcf8ef32cee5bf9b"), - "linux_s390x": ("go1.13.13.linux-s390x.tar.gz", "333a437e579f7a8e8188c6431eb13f31517d72310b6583d1df69022e09965ce8"), - "windows_386": ("go1.13.13.windows-386.zip", "cf473f1559690c3482c9c5ecb920216cc0d8df48ea6bd4fd46e0e50601623634"), - "windows_amd64": ("go1.13.13.windows-amd64.zip", "2f8028cc342a89b5818edc256d1cd21dd5672fc991861821a07f5f9b4a0c555c"), - }, - "1.13.12": { - "darwin_amd64": ("go1.13.12.darwin-amd64.tar.gz", "beaab00ed7c60594201b47a0228b058c2c23a93b9d7a45697591e10273970049"), - "freebsd_386": ("go1.13.12.freebsd-386.tar.gz", "b67385a062206630b85a9efe0abcbd0afc399ff79182d06aae2a3677ccc9dbcb"), - "freebsd_amd64": ("go1.13.12.freebsd-amd64.tar.gz", "875e9e264aceb97275637366b05d27ed24afa05cf3af9b5b0a248c76ba73ba02"), - "linux_386": ("go1.13.12.linux-386.tar.gz", "625d9cdb25ba55e1afba9490c79c55767117fa272e067f81643d22268d51308a"), - "linux_amd64": ("go1.13.12.linux-amd64.tar.gz", "9cacc6653563771b458c13056265aa0c21b8a23ca9408278484e4efde4160618"), - "linux_arm64": ("go1.13.12.linux-arm64.tar.gz", "7a8b4e7841d978c95dae8ef53e19811ee2d5c595a1c5ec7afed74bb8f71588b8"), - "linux_arm": ("go1.13.12.linux-armv6l.tar.gz", "552db731a120d341a1756c6ce0b1029cb5f5c756c09de9f45273893268d19c23"), - "linux_ppc64le": ("go1.13.12.linux-ppc64le.tar.gz", "97d762a62eae2e1f4d89ce09a89407a63e12c22d5c0fb952e409b323927cd38e"), - "linux_s390x": ("go1.13.12.linux-s390x.tar.gz", "8dd2d50666176cbe5cab7557081acb0f380cef2240e18d05db7faffc03d8f356"), - "windows_386": ("go1.13.12.windows-386.zip", "8d45cae6d2138b6ad470cee8b78b4739a1d02cdd976a9c9861f067a102e9affe"), - "windows_amd64": ("go1.13.12.windows-amd64.zip", "43c4b434f965efa9015c47a1f65858f62ab425fba9fa36a48ed40d1805dd0479"), - }, - "1.13.11": { - "darwin_amd64": ("go1.13.11.darwin-amd64.tar.gz", "37f748b464f823eb91922013eb64f263961724c30ebddb47c39d485ae08e9874"), - "freebsd_386": ("go1.13.11.freebsd-386.tar.gz", "99e707170751b19ec70fa9ab1d13d78c9df9ac804e5ed50ed6e9387b45b9eb16"), - "freebsd_amd64": ("go1.13.11.freebsd-amd64.tar.gz", "12a855728f26266dc8a1a77f524197ba16455315e879ae9dcab904391f679cdb"), - "linux_386": ("go1.13.11.linux-386.tar.gz", "c61ea511a4e82e9a7d31684d33c7b8bbb275e4110490f9a320c8026b76cac4ee"), - "linux_amd64": ("go1.13.11.linux-amd64.tar.gz", "a4d71ca9e02923fa96669a4b5faf78ee8331b18e7209b09dd87fe763b4838ada"), - "linux_arm64": ("go1.13.11.linux-arm64.tar.gz", "6c81c0ce79be2bd3ac5ea69c709ea9bd588069632ded4ac39d58dadf4d2f93e6"), - "linux_arm": ("go1.13.11.linux-armv6l.tar.gz", "f762f3acdaf2bb8d32041110022104aa430d96c39a8fc9cf3d4ab74faa607fca"), - "linux_ppc64le": ("go1.13.11.linux-ppc64le.tar.gz", "d9697e5bcf3a3ac0ba1ff299bb72ffd4957b9893a19a1e65adce683144d795e3"), - "linux_s390x": ("go1.13.11.linux-s390x.tar.gz", "076f31fb29aa5129151aaf850593b16b4391157870a15a3f0199554a99db0b9b"), - "windows_386": ("go1.13.11.windows-386.zip", "d36e85f6a99a9955b5b348dc13378f2bf15eb32bbc691f0e582fc5c3a09d71ed"), - "windows_amd64": ("go1.13.11.windows-amd64.zip", "e6d1805cc70d042133b94a598c7e666b166ee804d541ec35e63ca8eb3053036b"), - }, - "1.13.10": { - "darwin_amd64": ("go1.13.10.darwin-amd64.tar.gz", "ce26375c1aee62a7826e02bd0b807a6bb3e32e18492b48648410fa37ab5057c7"), - "freebsd_386": ("go1.13.10.freebsd-386.tar.gz", "c768c2aca1dbacfedaeccf825118abb8ba1dbfff7d1d01988aed806a9ffa9315"), - "freebsd_amd64": ("go1.13.10.freebsd-amd64.tar.gz", "0b292bfdcc1d278ef46dfed074d21f7620cbc4096ed546cd487264a36fac3a03"), - "linux_386": ("go1.13.10.linux-386.tar.gz", "233c9d43fe2fab27ee489efea08b84665aec5855cce95a81dba3846636de5fed"), - "linux_amd64": ("go1.13.10.linux-amd64.tar.gz", "8a4cbc9f2b95d114c38f6cbe94a45372d48c604b707db2057c787398dfbf8e7f"), - "linux_arm64": ("go1.13.10.linux-arm64.tar.gz", "f16f19947855b410e48f395ca488bd39223c7b35e8b69c7f15ec00201e20b572"), - "linux_arm": ("go1.13.10.linux-armv6l.tar.gz", "3c581f11ed49eaf0954f62ffebc123f8c392fc536f01c5a44cb38185701101fc"), - "linux_ppc64le": ("go1.13.10.linux-ppc64le.tar.gz", "6b9505388ecafa3cb04d5f51638276b25f7d80c5f70bd74ed72f8013f5006fd9"), - "linux_s390x": ("go1.13.10.linux-s390x.tar.gz", "41cb67266e809920363ff620e8cabce152ab54bebd6a337e9f903f5c1996ec35"), - "windows_386": ("go1.13.10.windows-386.zip", "c04d2d86826f06b35ae88ae077bfe9027e74adc25516caf8ddb7cf5e7b497736"), - "windows_amd64": ("go1.13.10.windows-amd64.zip", "e56ff68ab0d0ebdd9d11e9f3ef4b47fb7bd3a379cb07d444b9f7d77c7009088a"), - }, - "1.13.9": { - "darwin_amd64": ("go1.13.9.darwin-amd64.tar.gz", "450e59538ed5d3f2b165ba5107530afce6e8e89c6cc5c90a0cbf0a58846ef3b1"), - "freebsd_386": ("go1.13.9.freebsd-386.tar.gz", "6b75a5a46ebbdf06aa5023f2bd0ad7e9e37389125468243368d5795e1c15c9cd"), - "freebsd_amd64": ("go1.13.9.freebsd-amd64.tar.gz", "87716246da52c193226df44031aaf45e45ebfc23e01bdc845311c1b560e76e2b"), - "linux_386": ("go1.13.9.linux-386.tar.gz", "a2744aa2ddc68d888e9f65c2cbe4c8b527b139688ce232ead90dc2961f8d51a8"), - "linux_amd64": ("go1.13.9.linux-amd64.tar.gz", "f4ad8180dd0aaf7d7cda7e2b0a2bf27e84131320896d376549a7d849ecf237d7"), - "linux_arm64": ("go1.13.9.linux-arm64.tar.gz", "b53cb466d7986e5e17a3d4c196bc95df08a35968eced5efd7e128387a246c46e"), - "linux_arm": ("go1.13.9.linux-armv6l.tar.gz", "a3c2941a1fde8692514ece7e2180a0e3ca70609f52756a66bc0ab68c63572361"), - "linux_ppc64le": ("go1.13.9.linux-ppc64le.tar.gz", "90beb01962202f332be0a7c8dad2db3d30242759ba863db3f36c45d241940efc"), - "linux_s390x": ("go1.13.9.linux-s390x.tar.gz", "a40949aaf55912b06df8fda511c33fde3e52d377706bdc095332652c1ad225e3"), - "windows_386": ("go1.13.9.windows-386.zip", "e22406377448f1aea2dd1517327e5ae452d826c0c7624b3511d5af510c57b69a"), - "windows_amd64": ("go1.13.9.windows-amd64.zip", "cf066aabdf4d83c251aaace14b57a35aafffd1fa67d54d907f27fb31e470a135"), - }, - "1.13.8": { - "darwin_amd64": ("go1.13.8.darwin-amd64.tar.gz", "e7bad54950e1d18c716ac9202b5406e7d4aca9aa4ca9e334a9742f75c2167a9c"), - "freebsd_386": ("go1.13.8.freebsd-386.tar.gz", "5e02b9d3a3b5d7c61d43eea80b27875a9350472ffcb80c08fad857076d670d8b"), - "freebsd_amd64": ("go1.13.8.freebsd-amd64.tar.gz", "d8ea8fa5f93ba66f1f011fe40706635a95d754704da68ec7c406ba52ed4ec93a"), - "linux_386": ("go1.13.8.linux-386.tar.gz", "2305c1c46b3eaf574c7b03cfa6b167c199a2b52da85872317438c90074fdb46e"), - "linux_amd64": ("go1.13.8.linux-amd64.tar.gz", "0567734d558aef19112f2b2873caa0c600f1b4a5827930eb5a7f35235219e9d8"), - "linux_arm64": ("go1.13.8.linux-arm64.tar.gz", "b46c0235054d0eb69a295a2634aec8a11c7ae19b3dc53556a626b89dc1f8cdb0"), - "linux_arm": ("go1.13.8.linux-armv6l.tar.gz", "75f590d8e048a97cbf8b09837b15b3e6b44e1374718a96a5c3a994843ef44a4d"), - "linux_ppc64le": ("go1.13.8.linux-ppc64le.tar.gz", "4c987b3969d33a93880a218064d2330d7f55c9b58698e78db6b56012058e91a9"), - "linux_s390x": ("go1.13.8.linux-s390x.tar.gz", "994f961df0d7bdbfa6f7eed604539acf9159444dabdff3ce8e938d095d85f756"), - "windows_386": ("go1.13.8.windows-386.zip", "00c765048392c78fd3681ea5279c408e21fc94f033a504a1158fc6279fb068e3"), - "windows_amd64": ("go1.13.8.windows-amd64.zip", "aaf0888907144ca7070c8dad03fcf1308f77a42d2f6e4d2a609e64e9ae73cf4f"), - }, - "1.13.7": { - "darwin_amd64": ("go1.13.7.darwin-amd64.tar.gz", "8436f846b49c2b14a96d90eef6b2a6e0a0e1943bbb767299c1ecabb795b042b9"), - "freebsd_386": ("go1.13.7.freebsd-386.tar.gz", "b205d3657ca050b0c69d1fe4a76a2f66aa879f5ef87cc2814241610906e19924"), - "freebsd_amd64": ("go1.13.7.freebsd-amd64.tar.gz", "6952d9746ba04ea86341690dc93763f6b68319f7bec2b11d7028e1cffa408bdb"), - "linux_386": ("go1.13.7.linux-386.tar.gz", "93e82683f32d9fe7fda9b686415aeee599a92c4e450b69519bb53e1d62144a85"), - "linux_amd64": ("go1.13.7.linux-amd64.tar.gz", "b3dd4bd781a0271b33168e627f7f43886b4c5d1c794a4015abf34e99c6526ca3"), - "linux_arm64": ("go1.13.7.linux-arm64.tar.gz", "8717de6c662ada01b7bf318f5025c046b57f8c10cd39a88268bdc171cc7e4eab"), - "linux_arm": ("go1.13.7.linux-armv6l.tar.gz", "ff8b870222d82c38a0108810706811dcbd1fcdbddc877789184a0f903cbdf11a"), - "linux_ppc64le": ("go1.13.7.linux-ppc64le.tar.gz", "8fe0aeb41e87fd901845c9598f17f1aae90dca25d2d2744e9664c173fbf7f784"), - "linux_s390x": ("go1.13.7.linux-s390x.tar.gz", "7d405e515029d19131bae2820310681c31b665178998335ecc4494e8de01dfeb"), - "windows_386": ("go1.13.7.windows-386.zip", "cf9b1a2f96240adb98dc4081121ac308bf6f8d2760f96d45f429ec571602cefc"), - "windows_amd64": ("go1.13.7.windows-amd64.zip", "03befd335ee9ddf1d10cae52e84eb5a37408b8e105acc1c29e30bbbbd8143749"), - }, - "1.13.6": { - "darwin_amd64": ("go1.13.6.darwin-amd64.tar.gz", "1ee0dc6a7abf389dac898cbe27e28c4388a61e45cba2632c01d749e25003007f"), - "freebsd_386": ("go1.13.6.freebsd-386.tar.gz", "e02727feb4680cd643f9b8f5e953196675d0b9d4129dba1d5fbd98db01c24643"), - "freebsd_amd64": ("go1.13.6.freebsd-amd64.tar.gz", "c8153d236558aa878b7bc844ebede38f09ac846bee037f0f57a8dd75e36d8056"), - "linux_386": ("go1.13.6.linux-386.tar.gz", "27feb013106da784f09e560720aa41ab395c67f7eed4c4a0fce04bc6e3d01c7d"), - "linux_amd64": ("go1.13.6.linux-amd64.tar.gz", "a1bc06deb070155c4f67c579f896a45eeda5a8fa54f35ba233304074c4abbbbd"), - "linux_arm64": ("go1.13.6.linux-arm64.tar.gz", "0a18125c4ed80f9c3045cf92384670907c4796b43ed63c4307210fe93e5bbca5"), - "linux_arm": ("go1.13.6.linux-armv6l.tar.gz", "37a1a83e363dcf146a67fa839d170fd1afb13009585fdd493d0a3370fbe6f785"), - "linux_ppc64le": ("go1.13.6.linux-ppc64le.tar.gz", "26a977a8af5dc50a562f0a57b58dded5fa3bacfe77722cf8a84ea54ca54728dd"), - "linux_s390x": ("go1.13.6.linux-s390x.tar.gz", "5cd9900a1fa0f0cac657930b648381cad9b8c5e2bbc77caf86a6fb5cedad0017"), - "windows_386": ("go1.13.6.windows-386.zip", "6b1595d3b5b5fbdbaf6031502d90a694d1e7ae297433fc01c6c48fe8bc987495"), - "windows_amd64": ("go1.13.6.windows-amd64.zip", "66eae07e03310b67d279701028ba8dc6948cd0acdc6fbe21c22bfa9a2bc48884"), - }, - "1.13.5": { - "darwin_amd64": ("go1.13.5.darwin-amd64.tar.gz", "97f9ec90d54f3a580789f1f855b17282e7dbccb69a44b20a20c2167e907db800"), - "freebsd_386": ("go1.13.5.freebsd-386.tar.gz", "005b45ed277374d50acef5daa889139ed4e8fdd34c7e5c6e134d846cbe12c7f2"), - "freebsd_amd64": ("go1.13.5.freebsd-amd64.tar.gz", "9da24f876f321c1485d46f597546d72c3d38a5d8eade45724fdc40cc19fc042a"), - "linux_386": ("go1.13.5.linux-386.tar.gz", "3b830fa25f79ab08b476f02c84ea4125f41296b074017b492ac1ff748cf1c7c9"), - "linux_amd64": ("go1.13.5.linux-amd64.tar.gz", "512103d7ad296467814a6e3f635631bd35574cab3369a97a323c9a585ccaa569"), - "linux_arm64": ("go1.13.5.linux-arm64.tar.gz", "227b718923e20c846460bbecddde9cb86bad73acc5fb6f8e1a96b81b5c84668b"), - "linux_arm": ("go1.13.5.linux-armv6l.tar.gz", "26259f61d52ee2297b1e8feef3a0fc82144b666a2b95512402c31cc49713c133"), - "linux_ppc64le": ("go1.13.5.linux-ppc64le.tar.gz", "292814a5ea42a6fc43e1d1ea61c01334e53959e7ab34de86eb5f6efa9742afb6"), - "linux_s390x": ("go1.13.5.linux-s390x.tar.gz", "cfbb2959f243880abd1e2efd85d798b8d7ae4a502ab87c4b722c1bd3541e5dc3"), - "windows_386": ("go1.13.5.windows-386.zip", "5a9ace58c0fb487a07a3dec494a59957aa8425fbefd04d1a3fb1d0aa0d95fb8d"), - "windows_amd64": ("go1.13.5.windows-amd64.zip", "027275e04d795fbadc898ba7a50ed0ab2161ff4c5e613c94dbb066b2ca24ec11"), - }, - "1.13.4": { - "darwin_amd64": ("go1.13.4.darwin-amd64.tar.gz", "a9088c44a984c4ba64179619606cc65d9d0cb92988012cfc94fbb29ca09edac7"), - "freebsd_386": ("go1.13.4.freebsd-386.tar.gz", "ecb75927a71e232ef849c4f75388e2132c04bc429b0e2501d7bac5598fbd34f2"), - "freebsd_amd64": ("go1.13.4.freebsd-amd64.tar.gz", "2eeb50a31c61a8ce468ab7c350e6b6c43d8e9572c796742c8b3da8422c46e470"), - "linux_386": ("go1.13.4.linux-386.tar.gz", "497934398ca57c7c207ce3388f099823923b4c7b74394d6ed64cd2d3751aecb8"), - "linux_amd64": ("go1.13.4.linux-amd64.tar.gz", "692d17071736f74be04a72a06dab9cac1cd759377bd85316e52b2227604c004c"), - "linux_arm64": ("go1.13.4.linux-arm64.tar.gz", "8b8d99eb07206f082468fb4d0ec962a819ae45d54065fc1ed6e2c502e774aaf0"), - "linux_arm": ("go1.13.4.linux-armv6l.tar.gz", "9f76e6353c9ae2dcad1731b7239531eb8be2fe171f29f2a9c5040945a930fd41"), - "linux_ppc64le": ("go1.13.4.linux-ppc64le.tar.gz", "815bf3c7100e73cfac50c4a07c8eeb4b0458a49ffa0e13a74a6cf7ad8e2a6499"), - "linux_s390x": ("go1.13.4.linux-s390x.tar.gz", "efc6947e8eb0a6409f4c8ba62b00ae4e54404064bc221df1b73364a95945a350"), - "windows_386": ("go1.13.4.windows-386.zip", "a6956184e31b5c97ee76ed736f1c5b708ace7f5673511862f9fcb8ab64851286"), - "windows_amd64": ("go1.13.4.windows-amd64.zip", "ab8b7f7a2a4f7b58720fb2128b32c7471092961ff46a01d9384fb489d8212a0b"), - }, - "1.13.3": { - "darwin_amd64": ("go1.13.3.darwin-amd64.tar.gz", "dde04dec8730d72e4d350a4e1b123a3f94aa15e7f34ed8163e72c948916c48ae"), - "freebsd_386": ("go1.13.3.freebsd-386.tar.gz", "1a79e9013a4421b5e99c0bed81b97460a012d22513a0efedc6107add43e579e7"), - "freebsd_amd64": ("go1.13.3.freebsd-amd64.tar.gz", "d5337c217ae111ade704a4c3ca618921d4d7ef6d52236a137e70e691e4188c02"), - "linux_386": ("go1.13.3.linux-386.tar.gz", "c68ebb127924ee753d05fcd4cc893e3409a6754e8884bb04e5248e9b5849f6ba"), - "linux_amd64": ("go1.13.3.linux-amd64.tar.gz", "0804bf02020dceaa8a7d7275ee79f7a142f1996bfd0c39216ccb405f93f994c0"), - "linux_arm64": ("go1.13.3.linux-arm64.tar.gz", "9fa65ae42665baff53802091b49b83af6f2e397986b6cbea2ae30e2c7ee0f2f2"), - "linux_arm": ("go1.13.3.linux-armv6l.tar.gz", "9f15d6aa4098cd53ec5cb48d1a1e554d062b2263a03985d50c2568757d966dc6"), - "linux_ppc64le": ("go1.13.3.linux-ppc64le.tar.gz", "2373b60d7f7b4825b1d0ec195079833a3dac72ddd55b207ee22b0032b1a658d9"), - "linux_s390x": ("go1.13.3.linux-s390x.tar.gz", "9241ce5bf362b7066c90da5abc4c85ec7b4054637e1a8a01b8cc83281e228b7e"), - "windows_386": ("go1.13.3.windows-386.zip", "b27a4266652f1a72b4023bccd1b036ba356cc6a27c18d329a8e624759626298d"), - "windows_amd64": ("go1.13.3.windows-amd64.zip", "9585efeab37783152c81c6ce373b22e68f45c6801dc2c208bfd1e47b646efbef"), - }, - "1.13.2": { - "darwin_amd64": ("go1.13.2.darwin-amd64.tar.gz", "fdf29cc185ece8b038b41b469c2c6095891059b4acad94042e4a777f2f0a1116"), - "freebsd_386": ("go1.13.2.freebsd-386.tar.gz", "687206009c7643d8657c7b15573e1a399e15fecef301184fb8684a11ae885e3e"), - "freebsd_amd64": ("go1.13.2.freebsd-amd64.tar.gz", "71f163fdf4a2a0d82a951f07237978f852def373294daa481d487d15e0c5cb76"), - "linux_386": ("go1.13.2.linux-386.tar.gz", "468f116889631405da0c89b1765985e8bbeddbf8642c2a552a81f0bfbe58ab55"), - "linux_amd64": ("go1.13.2.linux-amd64.tar.gz", "293b41a6ccd735eebcfb4094b6931bfd187595555cecf3e4386e9e119220c0b7"), - "linux_arm64": ("go1.13.2.linux-arm64.tar.gz", "a2d27f341d6b7968f9da229990aa9ab7a6d4bd1c722945be11576a09eb538482"), - "linux_arm": ("go1.13.2.linux-armv6l.tar.gz", "6f2e90b5d08a177be14938a905f7b91e9b17052318b5ea0e6d7c0a83af252421"), - "linux_ppc64le": ("go1.13.2.linux-ppc64le.tar.gz", "ffcc3651fce34fc6418e33836d5417c0e6b713fda99033259e67538fa802900a"), - "linux_s390x": ("go1.13.2.linux-s390x.tar.gz", "dbed59db3e4f57df7c86120be37bdbf3516891214174b771cff40d81ba8577e2"), - "windows_386": ("go1.13.2.windows-386.zip", "c0c5ac83e354b76f78532ed83590151648dfd52d58dd832ecaee9ea0daa07c42"), - "windows_amd64": ("go1.13.2.windows-amd64.zip", "003c99e778d6f73ba677fec4b66c3bdbbb144b318cfe6ffbe26ed8493b2db9a5"), - }, - "1.13.1": { - "darwin_amd64": ("go1.13.1.darwin-amd64.tar.gz", "f3985fced3adecb62dd1e636cfa5eb9fea8f3e98101d9fcc4964d8f1ec255b7f"), - "freebsd_386": ("go1.13.1.freebsd-386.tar.gz", "3d3a97cc1c778326df13a9a5460bce14094402edbcfb9f529f507344cfea0bc4"), - "freebsd_amd64": ("go1.13.1.freebsd-amd64.tar.gz", "1ae71f3a02c95cd559f5943aced2f337fb8b58b95db47001ebca48992c7df1d3"), - "linux_386": ("go1.13.1.linux-386.tar.gz", "4bf7a961fda7ad892b8824002036de8c0f290df05df2e8f11252d1f8c77dcd8f"), - "linux_amd64": ("go1.13.1.linux-amd64.tar.gz", "94f874037b82ea5353f4061e543681a0e79657f787437974214629af8407d124"), - "linux_arm64": ("go1.13.1.linux-arm64.tar.gz", "8af8787b7c2a3c0eb3f20f872577fcb6c36098bf725c59c4923921443084c807"), - "linux_arm": ("go1.13.1.linux-armv6l.tar.gz", "7c75d4002321ea4a066dfe13f6dd5168076e9a231317c5afd55e78b86f478e37"), - "linux_ppc64le": ("go1.13.1.linux-ppc64le.tar.gz", "72422c68dbed013ee321a05dbb97d9c8d6b2c75f347de707138c2c748fc4aceb"), - "linux_s390x": ("go1.13.1.linux-s390x.tar.gz", "5f0859ae1037ad7af6cdb6d16f638de908fd9de044d463eeab92b9578d4c7c75"), - "windows_386": ("go1.13.1.windows-386.zip", "bc0010efa39d5d46e2d7c7bbb702ca37796d95b395003e22080414076556c590"), - "windows_amd64": ("go1.13.1.windows-amd64.zip", "24cb08d369c1962cccacedc56fd79dc130f623b3b667a316554621ad6ac9b442"), - }, - "1.13": { - "darwin_amd64": ("go1.13.darwin-amd64.tar.gz", "234ebbba1fbed8474340f79059cfb3af2a0f8b531c4ff0785346e0710e4003dd"), - "freebsd_386": ("go1.13.freebsd-386.tar.gz", "4035d0a07c1cfa0e75f56414757ac7c609a801c78cc6df9d1d41927426c325a7"), - "freebsd_amd64": ("go1.13.freebsd-amd64.tar.gz", "a8391447ea6c77b67163f7dd9fd3708fd9ba396ae128fd77dac4f8c249c8c223"), - "linux_386": ("go1.13.linux-386.tar.gz", "519b3e6ae4db011b93b60e6fabb055773ae6448355b6909a6befef87e02d98f5"), - "linux_amd64": ("go1.13.linux-amd64.tar.gz", "68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856"), - "linux_arm64": ("go1.13.linux-arm64.tar.gz", "e2a61328101eff3b9c1ba47ecfec5eb2fdc3eb35d8c27d505737ba98bfcb197b"), - "linux_arm": ("go1.13.linux-armv6l.tar.gz", "931906d67cae1222f501e7be26e0ee73ba89420be0c4591925901cb9a4e156f0"), - "linux_ppc64le": ("go1.13.linux-ppc64le.tar.gz", "807b036bb058061b6090635e2a8612aaf301895dce70a773bbcd67fa1e57337c"), - "linux_s390x": ("go1.13.linux-s390x.tar.gz", "b7122795910b70b68e4118d0d34685a30925f4dd861c065cf20b699a7783807a"), - "windows_386": ("go1.13.windows-386.zip", "c9ad29eff640bf8cb551853c649fd63acd777fcb28db26712d07983a973cb327"), - "windows_amd64": ("go1.13.windows-amd64.zip", "7d162b83157d3171961f8e05a55b7da8476244df3fac28a5da1c9e215acfea89"), - }, -} diff --git a/go/toolchain/toolchains.bzl b/go/toolchain/toolchains.bzl index 57e6c1c2ed..8e2f942dcc 100644 --- a/go/toolchain/toolchains.bzl +++ b/go/toolchain/toolchains.bzl @@ -12,16 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -load( - "@io_bazel_rules_go//go/private:sdk.bzl", - _go_register_toolchains = "go_register_toolchains", -) -load( - "@io_bazel_rules_go//go/private:sdk_list.bzl", - _DEFAULT_VERSION = "DEFAULT_VERSION", - _MIN_SUPPORTED_VERSION = "MIN_SUPPORTED_VERSION", - _SDK_REPOSITORIES = "SDK_REPOSITORIES", -) load( "@io_bazel_rules_go//go/private:platforms.bzl", "GOARCH_CONSTRAINTS", @@ -29,12 +19,6 @@ load( "PLATFORMS", ) -# These symbols should be loaded from sdk.bzl or deps.bzl instead of here.. -DEFAULT_VERSION = _DEFAULT_VERSION -MIN_SUPPORTED_VERSION = _MIN_SUPPORTED_VERSION -SDK_REPOSITORIES = _SDK_REPOSITORIES -go_register_toolchains = _go_register_toolchains - def declare_constraints(): """Generates constraint_values and platform targets for valid platforms. diff --git a/go/toolchains.rst b/go/toolchains.rst index 1b8d599718..58f45adbac 100644 --- a/go/toolchains.rst +++ b/go/toolchains.rst @@ -95,8 +95,8 @@ Normal usage ~~~~~~~~~~~~ This is an example of normal usage for the other examples to be compared -against. This will download and use the latest Go SDK that was available when -the version of rules_go you're using was released. +against. This will download and use a specific version of Go for the host +platform. .. code:: bzl @@ -106,25 +106,7 @@ the version of rules_go you're using was released. go_rules_dependencies() - go_register_toolchains() - - -Forcing the Go version -~~~~~~~~~~~~~~~~~~~~~~ - -You can select the version of the Go SDK to use by specifying it when you call -`go_register_toolchains`_ but you must use a value that matches a known -toolchain. - -.. code:: bzl - - # WORKSPACE - - load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains") - - go_rules_dependencies() - - go_register_toolchains(go_version="1.10.3") + go_register_toolchains(version = "1.15.5") Using the installed Go SDK @@ -142,7 +124,7 @@ but builds won't be reproducible across systems with different SDKs installed. go_rules_dependencies() - go_register_toolchains(go_version="host") + go_register_toolchains(version = "host") Registering a custom SDK @@ -215,19 +197,22 @@ Rules and functions go_register_toolchains ~~~~~~~~~~~~~~~~~~~~~~ -Installs the Go toolchains. If :param:`go_version` is specified, it sets the -SDK version to use (for example, :value:`"1.10.3"`). By default, the latest -SDK will be used. +Installs the Go toolchains. If :param:`version` is specified, it sets the +SDK version to use (for example, :value:`"1.15.5"`). +--------------------------------+-----------------------------+-----------------------------------+ | **Name** | **Type** | **Default value** | +--------------------------------+-----------------------------+-----------------------------------+ -| :param:`go_version` | :type:`string` | latest release | +| :param:`version` | :type:`string` | |mandatory| | +--------------------------------+-----------------------------+-----------------------------------+ -| This specifies the version of the Go SDK to download. This is only used if | -| no SDK has been declared with the name :value:`go_sdk` before the call to | -| ``go_register_toolchains``. The default version is the latest version of Go | -| that was released at the time the rules_go release you're using was tagged. | +| Specifies the version of Go to download if one has not been declared. | +| | +| If a toolchain was already declared with `go_download_sdk`_ or a similar rule, | +| this parameter may not be set. | +| | +| Normally this is set to a Go version like :value:`"1.15.5"`. It may also be | +| set to :value:`"host"`, which will cause rules_go to use the Go toolchain | +| installed on the host system (found using ``GOROOT`` or ``PATH``). | +--------------------------------+-----------------------------+-----------------------------------+ | :param:`nogo` | :type:`label` | :value:`None` | +--------------------------------+-----------------------------+-----------------------------------+ @@ -244,10 +229,10 @@ This downloads a Go SDK for use in toolchains. +--------------------------------+-----------------------------+---------------------------------------------+ | **Name** | **Type** | **Default value** | +--------------------------------+-----------------------------+---------------------------------------------+ -| :param:`name` | :type:`string` | |mandatory| | +| :param:`name` | :type:`string` | |mandatory | +--------------------------------+-----------------------------+---------------------------------------------+ -| A unique name for this SDK. This should almost always be :value:`go_sdk` if you want the SDK | -| to be used by toolchains. | +| A unique name for this SDK. This should almost always be :value:`go_sdk` if | +| you want the SDK to be used by toolchains. | +--------------------------------+-----------------------------+---------------------------------------------+ | :param:`goos` | :type:`string` | :value:`None` | +--------------------------------+-----------------------------+---------------------------------------------+ @@ -266,9 +251,10 @@ This downloads a Go SDK for use in toolchains. | :param:`version` | :type:`string` | :value:`latest Go version` | +--------------------------------+-----------------------------+---------------------------------------------+ | The version of Go to download, for example ``1.12.5``. If unspecified, | -| ``go_download_sdk`` will download the latest version of Go that rules_go | -| supports. Go versions that rules_go doesn't support may not be specified, | -| since the download SHA-256 sums are not known. | +| ``go_download_sdk`` will list available versions of Go from golang.org, then | +| pick the highest version. If ``version`` is specified but ``sdks`` is | +| unspecified, ``go_download_sdk`` will list available versions on golang.org | +| to determine the correct file name and SHA-256 sum. | +--------------------------------+-----------------------------+---------------------------------------------+ | :param:`urls` | :type:`string_list` | :value:`[https://dl.google.com/go/{}]` | +--------------------------------+-----------------------------+---------------------------------------------+ From eb5008ef0150691d660d8305dcf7612376ff25db Mon Sep 17 00:00:00 2001 From: Jay Conrod Date: Thu, 19 Nov 2020 17:13:18 -0500 Subject: [PATCH 2/2] fix bzl_library targets --- go/private/BUILD.bazel | 7 ------- go/toolchain/BUILD.bazel | 1 - 2 files changed, 8 deletions(-) diff --git a/go/private/BUILD.bazel b/go/private/BUILD.bazel index 75bbf55227..2d09edb668 100644 --- a/go/private/BUILD.bazel +++ b/go/private/BUILD.bazel @@ -101,7 +101,6 @@ bzl_library( "@io_bazel_rules_go//go/private:common", "@io_bazel_rules_go//go/private:nogo", "@io_bazel_rules_go//go/private:platforms", - "@io_bazel_rules_go//go/private:sdk_list", "@io_bazel_rules_go//go/private/skylib/lib:versions", ], ) @@ -138,9 +137,3 @@ bzl_library( "//proto:__pkg__", # keep ], ) - -bzl_library( - name = "sdk_list", - srcs = ["sdk_list.bzl"], - visibility = ["//go:__subpackages__"], -) diff --git a/go/toolchain/BUILD.bazel b/go/toolchain/BUILD.bazel index d40fbc6543..d97728af3a 100644 --- a/go/toolchain/BUILD.bazel +++ b/go/toolchain/BUILD.bazel @@ -27,6 +27,5 @@ bzl_library( deps = [ "@io_bazel_rules_go//go/private:platforms", "@io_bazel_rules_go//go/private:sdk", - "@io_bazel_rules_go//go/private:sdk_list", ], )