From dcaf0d3eaf6da836ffc71e9ce4d1d2cedc47725d Mon Sep 17 00:00:00 2001 From: Sergei Shirshanov Date: Thu, 30 Jan 2025 16:14:59 +0100 Subject: [PATCH 1/2] Use "excution platform" version of cue binary Signed-off-by: Sergei Shirshanov --- cue/private/tools/cue/BUILD.toolchains.bazel | 2 +- cue/private/tools/cue/toolchain.bzl | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/cue/private/tools/cue/BUILD.toolchains.bazel b/cue/private/tools/cue/BUILD.toolchains.bazel index 8bdf327..109669c 100644 --- a/cue/private/tools/cue/BUILD.toolchains.bazel +++ b/cue/private/tools/cue/BUILD.toolchains.bazel @@ -4,6 +4,6 @@ load( ) declare_bazel_toolchains( - toolchain_prefix = "@{tool_repo}//", + tool_repo_prefix = "@{tool_repo}", version = "{version}", ) diff --git a/cue/private/tools/cue/toolchain.bzl b/cue/private/tools/cue/toolchain.bzl index eea0d46..00013bc 100644 --- a/cue/private/tools/cue/toolchain.bzl +++ b/cue/private/tools/cue/toolchain.bzl @@ -197,7 +197,7 @@ _download_tool = repository_rule( ) # buildifier: disable=unnamed-macro -def declare_bazel_toolchains(version, toolchain_prefix): +def declare_bazel_toolchains(version, tool_repo_prefix): native.constraint_value( name = version, constraint_setting = "{}:tool_version".format(_CONTAINING_PACKAGE_PREFIX), @@ -210,7 +210,7 @@ def declare_bazel_toolchains(version, toolchain_prefix): "{}:cpu_{}".format(constraint_value_prefix, platform.arch), "{}:os_{}".format(constraint_value_prefix, platform.os), ], - toolchain = toolchain_prefix + (":{}_{}_{}".format(platform.os, platform.arch, version)), + toolchain = tool_repo_prefix + "-{os}-{arch}//:{os}_{arch}_{version}".format(arch = platform.arch, os = platform.os, version = version), toolchain_type = "@{}//tools/cue:toolchain_type".format(_MODULE_REPOSITORY_NAME), ) @@ -238,10 +238,17 @@ _toolchains_repo = repository_rule( ) def download_tool(name, version = None): - _download_tool( - name = name, - version = version, - ) + version = version or _DEFAULT_TOOL_VERSION + if version not in _TOOLS_BY_RELEASE: + fail("Unexpected version value {} for cue tool. Availible versions is: {}".format(version, ", ".join(_TOOLS_BY_RELEASE.keys()))) + for platform in _TOOLS_BY_RELEASE[version].keys(): + repo_name = "{}-{}-{}".format(name, platform.os, platform.arch) + _download_tool( + name = repo_name, + arch = platform.arch, + os = platform.os, + version = version, + ) _toolchains_repo( name = name + "_toolchains", tool_repo = name, From 73287d1d362efd4c6d82347919a16f7ac6461e8b Mon Sep 17 00:00:00 2001 From: Sergei Shirshanov Date: Thu, 30 Jan 2025 16:30:12 +0100 Subject: [PATCH 2/2] Grammar fixes Signed-off-by: Sergei Shirshanov --- cue/private/tools/cue/toolchain.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cue/private/tools/cue/toolchain.bzl b/cue/private/tools/cue/toolchain.bzl index 00013bc..879b4eb 100644 --- a/cue/private/tools/cue/toolchain.bzl +++ b/cue/private/tools/cue/toolchain.bzl @@ -240,7 +240,7 @@ _toolchains_repo = repository_rule( def download_tool(name, version = None): version = version or _DEFAULT_TOOL_VERSION if version not in _TOOLS_BY_RELEASE: - fail("Unexpected version value {} for cue tool. Availible versions is: {}".format(version, ", ".join(_TOOLS_BY_RELEASE.keys()))) + fail("Unexpected version {} for cue tool. Available versions: {}".format(version, ", ".join(_TOOLS_BY_RELEASE.keys()))) for platform in _TOOLS_BY_RELEASE[version].keys(): repo_name = "{}-{}-{}".format(name, platform.os, platform.arch) _download_tool(